/* Visão SF — padrão visual compartilhado, v0.4.0. */
:root{--ui-font:Inter,"Segoe UI",Roboto,Arial,sans-serif;--ui-body:15px;--ui-label:14px;--ui-meta:12px;--radius-sm:10px;--radius-md:14px;--radius-lg:16px;--control-h:44px}
html[data-font="small"]{--ui-body:14px;--ui-label:14px;--ui-meta:12px}
html[data-font="large"]{--ui-body:17px;--ui-label:16px;--ui-meta:14px}
html,body,#app{font-family:var(--ui-font)}
body{font-size:var(--ui-body);line-height:1.55}
button,input,select,textarea{font-family:var(--ui-font)}
h1,h2,h3,h4,p{overflow-wrap:anywhere}h1,h2,h3,h4{letter-spacing:-.02em;line-height:1.35}
html[data-font] :is(.content,.modal) :is(.panel-sub,.page-intro p,.div-sub,.indicator-meta,.pick-card span,.hub-hint,.timeline-text,.settings-row span,.field label,.check-status,.process-owners,.issue-line,.report-card p,.conference-started,.tech-gauge p){font-family:var(--ui-font);font-size:var(--ui-label);line-height:1.55}
html[data-font] :is(.badge,.last-check,.timeline-date,.kpi-foot,.kpi-label,.chart-legend,.history-result-count,.settings-contact-status,.settings-person>div>span,.settings-user-role){font-size:var(--ui-meta);line-height:1.45}
.page-intro h2,.settings-category-head h2{font-size:24px;font-weight:650;margin:0}.page-intro p{margin:6px 0 0;color:var(--text-secondary)}
.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.panel-head,.settings-content-head{padding:20px 22px}.panel-body{padding:20px 22px}
html[data-palette] :is(.panel,.process-card,.indicator-card,.pick-card,.check-item,.report-card,.appearance-preview){border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 3px 12px rgb(0 0 0 / .07);clip-path:none}
.chamfer{clip-path:none!important}
html[data-palette] .dashboard-grid>.panel{border-color:var(--border);box-shadow:0 3px 12px rgb(0 0 0 / .07)}
html[data-palette] :is(.panel-title,.dashboard-grid .panel-title){font-size:16px;font-weight:650;letter-spacing:0;text-transform:none}
html[data-palette] .btn{min-height:44px;padding:10px 15px;border-radius:10px;font-size:var(--ui-label);font-weight:600;line-height:1.35;gap:8px;box-shadow:none;white-space:normal}
html[data-palette] .btn-sm{min-height:38px;padding:8px 12px;font-size:var(--ui-label)}
html[data-palette] .btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-amber){background:var(--surface-raised);border-color:var(--border);color:var(--text-main)}
html[data-palette] .btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
html[data-palette] .btn:hover:not(:disabled){transform:none;border-color:var(--accent)}
button:disabled{opacity:.55;cursor:not-allowed}
html[data-palette] :is(.input,.select,.textarea,.filter-input,.calendar-trigger){min-height:44px;border-radius:10px;padding:10px 12px;font-size:var(--ui-label);line-height:1.45;border:1px solid var(--border-strong);box-shadow:none}
html[data-palette] :is(.input,.select,.textarea,.filter-input)::placeholder{color:var(--text-muted);opacity:1}
html[data-palette] :is(.input,.select,.textarea,.filter-input):focus{outline:2px solid var(--accent);outline-offset:2px}
.filters,.conference-record-filters,.history-filters,.action-filters{gap:12px;align-items:end;margin-bottom:20px}
.filters-shell{margin-bottom:22px}.filters-shell .filters{margin-bottom:0}
.filters-panel{padding:16px;background:var(--surface-soft);border:1px solid var(--border);border-radius:14px}
.field label{display:block;margin-bottom:7px;font-weight:600;color:var(--text-main)}.field small{font-size:var(--ui-meta);color:var(--text-secondary);line-height:1.5}
.form-grid{gap:18px}.field{min-width:0}
.tabs,.hub-tabs,.settings-menu{gap:6px;flex-wrap:wrap;overflow:visible;border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:22px}
html[data-font] :is(.tab,.hub-tabs button,.settings-menu-item){font-size:var(--ui-label);min-height:44px;line-height:1.4;white-space:normal;border-radius:9px;padding:10px 14px}
html[data-palette] :is(.tab.active,.hub-tabs button.active,.settings-menu-item.active){background:var(--accent-subtle);color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
.side-brand-copy strong{font-family:var(--ui-font);font-weight:750;letter-spacing:.035em;font-size:21px;line-height:1.2}
.sidebar-expanded .side-brand-copy span{font-family:var(--ui-font);font-size:11px;letter-spacing:.015em;line-height:1.4;text-transform:none;margin-top:5px}
.side-logo{gap:12px}.nav-label{font-family:var(--ui-font);font-weight:550}.nav-icon .icon{stroke-width:1.8}
.nav-section-title{font-family:var(--ui-font);font-size:11px;letter-spacing:.07em;font-weight:650}
.sidebar-footer{font-family:var(--ui-font)}.sidebar-copyright{font-size:11px}.sidebar-development span{font-size:10px}
.process-grid,.indicator-grid,.report-grid{gap:18px}.process-card{padding:20px;display:flex;flex-direction:column}.process-name,.indicator-name,.check-item-title{font-size:16px;font-weight:650;line-height:1.4}
.process-score{font-size:36px;letter-spacing:-.04em}.score-label{font-size:var(--ui-meta);text-transform:none;letter-spacing:0}.issue-list{min-height:0;flex:1;margin:16px 0}.issue-line{align-items:flex-start;gap:8px}.process-owners{margin-top:16px;padding-top:14px}.process-footer{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}.process-footer .last-check{flex:1 1 160px}.link-btn{font-size:var(--ui-label);min-height:38px}
.indicator-card{padding:20px;display:flex;flex-direction:column}.indicator-top{gap:12px;align-items:flex-start}.indicator-actions{margin-top:auto;padding-top:18px;gap:8px}.indicator-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.indicator-facts div{min-width:0}.indicator-facts dt{font-size:var(--ui-meta);color:var(--text-secondary)}.indicator-facts dd{margin:3px 0 0;font-size:var(--ui-label);font-weight:550;color:var(--text-main);overflow-wrap:anywhere}.indicator-note{font-size:var(--ui-label);line-height:1.55;margin:0 0 12px;color:var(--text-secondary)}
.list-stack{gap:14px}.div-card{padding:20px;gap:20px}.div-title{font-size:16px;font-weight:650;line-height:1.4}.div-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.div-actions{gap:8px;align-items:center;flex-wrap:wrap}.badge{border-radius:7px;font-weight:600;letter-spacing:0;text-transform:none;padding:5px 9px;white-space:normal}
.modal{border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-modal)}.modal-head,.modal-body{padding:22px}.modal-head h3{font-size:20px}.modal-head p{font-size:var(--ui-label)}.modal-footer{padding:18px 22px;gap:10px;border-top:1px solid var(--border);background:var(--surface-soft)}.close-btn{width:40px;height:40px;border-radius:9px}
.empty-state{padding:36px 24px;border:1px dashed var(--border-strong);border-radius:14px;background:var(--surface-soft);text-align:center}.empty-state strong{font-size:16px}.empty-state>span:last-child{font-size:var(--ui-label);max-width:480px;margin-inline:auto;color:var(--text-secondary)}
.toast{font-family:var(--ui-font);font-size:var(--ui-label);padding:14px 18px;border:1px solid var(--border);border-left:3px solid var(--green);border-radius:12px;max-width:min(440px,calc(100vw - 32px));box-shadow:var(--shadow-panel)}.toast.warn{border-left-color:var(--amber)}.toast.danger{border-left-color:var(--red)}
.field-error{display:block;font-size:var(--ui-meta);color:var(--red);margin:6px 0 0;line-height:1.5}html[data-palette] [aria-invalid="true"]{border-color:var(--red)}
html[data-palette] .context-alert{background:var(--surface-soft);border:1px solid var(--border);border-left:3px solid var(--amber);border-radius:12px;padding:14px}.context-alert strong{font-size:var(--ui-label);letter-spacing:0;text-transform:none}html[data-palette] .context-alert span{color:var(--text-secondary);font-size:var(--ui-label);line-height:1.55}
html[data-palette] :is(.dist-seg,.rhythm-seg){background:var(--border);border-color:var(--border);box-shadow:none}html[data-palette] :is(.dist-seg.on,.rhythm-seg.on){background:var(--accent)}
.dashboard-grid{gap:18px}.dashboard-grid>.kpi-strip{grid-column:1/-1;grid-row:1}.kpi-strip{gap:12px}.kpi-card{min-height:110px;padding:16px;border:1px solid var(--border);border-radius:14px}.kpi-value{font-size:30px}.kpi-label{text-transform:none;letter-spacing:0}.rhythm-panel{padding:16px 20px}.rhythm-label span{font-size:var(--ui-meta)}.attention-item{min-height:58px}.attention-item strong{font-size:var(--ui-label)}.attention-item span{font-size:var(--ui-meta)}
.tech-instruments-head p,.tech-gauge p{font-family:var(--ui-font)}.tech-instruments-head h2{font-size:22px}.tech-gauge h3{font-size:15px;letter-spacing:.04em}.tech-gauge .badge{font-size:var(--ui-meta)}.tech-target-label{font-size:14px;font-weight:650}.gauge-target-caption{display:block;font-size:var(--ui-meta);color:var(--text-secondary);margin-top:5px}
.calendar-popover{border-radius:14px;box-shadow:var(--shadow-modal)}.calendar-day{min-height:32px}.calendar-week{font-size:12px}
@media(max-width:1100px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.dashboard-grid>.distribution-panel{grid-column:1/-1}.kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.page-toolbar{align-items:flex-start;margin-bottom:20px}.page-intro h2{font-size:22px}.page-toolbar>.btn{align-self:flex-start}.process-toolbar-actions,.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.panel-head,.panel-body{padding:18px}.div-card{flex-direction:column;align-items:stretch;padding:18px}.div-actions{justify-content:flex-start}.modal-head,.modal-body{padding:20px}.modal-footer{padding:16px 20px;flex-wrap:wrap}.modal-footer>.btn{flex:1 1 140px}.tabs,.hub-tabs{display:flex;flex-wrap:wrap}.tab{flex:1 1 auto}.tech-instruments-grid{grid-template-columns:1fr 1fr;gap:18px 8px}.tech-gauge-main{max-width:280px;grid-column:1/-1;grid-row:1}.tech-gauge:not(.tech-gauge-main){width:100%;max-width:260px}.tech-gauge h3{font-size:14px}.tech-gauge p{font-size:12px!important}.tech-instruments{padding:18px 12px}.tech-instruments-head h2{font-size:20px}.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-card{min-height:96px}.dashboard-actions{display:flex;flex-wrap:wrap;gap:8px}.dashboard-actions>.btn{flex:1 1 170px}.sticky-finalize{bottom:calc(70px + env(safe-area-inset-bottom));padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.conference-date-bar{gap:12px}.conference-date-bar>.btn{flex:1 1 180px}.input,.select,.textarea,.filter-input{font-size:16px!important}.toast-wrap{bottom:calc(84px + env(safe-area-inset-bottom))}.tech-target-label{display:none}}
@media(max-width:420px){.tech-instruments-grid{grid-template-columns:1fr 1fr}.tech-gauge-main{grid-column:1/-1}.tech-gauge p{font-size:12px!important}.tech-gauge .badge{font-size:11px;padding:5px 7px}.indicator-facts{grid-template-columns:1fr}.process-toolbar-actions>.btn{flex:1 1 140px}.tech-gauge h3{font-size:12px}.tech-gauge .gauge-target-caption{font-size:11px}.settings-menu-item{flex:1 1 44%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Light instruments: restrained satin finish; dark appearance stays unchanged. */
html[data-theme="light"] .tech-dial{--bg-main:#F7FAFC;--surface-raised:#FFFFFF;--text-main:#263747;--text-muted:#728393;--border-strong:#CCD6DF;--tech-metal-hi:#F5F8FB;--tech-metal-mid:#D7E0E7;--tech-metal-low:#A5B5C2;--tech-track:#DBE3EA;filter:drop-shadow(0 2px 2px rgb(35 58 75 / .07))}
html[data-theme="light"] .tech-dial>circle[r="179"]{stroke-width:4}
html[data-theme="light"] .tech-dial>circle[r="104"]{stroke:#C6D2DC;stroke-width:1}
html[data-theme="light"] .tech-dial>path[stroke-width="7"]:not(.tech-segment){stroke-width:3;opacity:.65}
html[data-theme="light"] .tech-dial pattern path{opacity:0}
html[data-theme="light"] .tech-dial .tech-readout{fill:#FFFFFF;stroke:#CAD6E0;stroke-width:1.2}
html[data-theme="light"] .tech-dial .tech-readout-number{fill:#263747}
html[data-theme="light"] .tech-dial .tech-readout-number tspan{fill:var(--accent)}
html[data-theme="light"] .tech-dial .tech-rim-light{opacity:.5}
html[data-theme="light"] .tech-dial .tech-target-label{display:none}
html[data-theme="light"] .tech-gauge{display:grid;grid-template-rows:auto auto auto minmax(28px,auto) auto;justify-items:center;row-gap:0}
html[data-theme="light"] .tech-gauge h3{grid-row:2;text-transform:none;letter-spacing:-.01em;font-weight:650;margin:12px 0 0}
html[data-theme="light"] .tech-gauge .gauge-target-caption{grid-row:3;font-size:13px;line-height:1.5;margin-top:4px}
html[data-theme="light"] .tech-gauge p{grid-row:4;margin:6px 0 0}
html[data-theme="light"] .tech-gauge .badge{grid-row:5;display:block;width:fit-content;justify-self:center;margin:12px auto 0;padding:6px 12px}
