/* Capa visual: conserva la geometría temporal y los flujos de taller.css. */
:root{--surface:#fff;--border-soft:#d5dee2;--muted:#586F7C;--space:8px;--radius:5px}
body{font-family:'Segoe UI',system-ui,sans-serif;font-size:15px;line-height:1.6;letter-spacing:.005em;background:var(--paper);-webkit-font-smoothing:antialiased}
header{min-height:80px;padding:16px 32px;border-color:var(--border-soft);gap:24px}
.logo{font-size:16px;letter-spacing:.04em;gap:14px;line-height:1.35}.logo small{display:block;font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--slate);margin-top:4px}.symbol{width:42px;height:42px;font-size:16px;letter-spacing:-.06em;border-radius:4px;background:var(--brand);border-bottom:3px solid var(--mint)}
.account{font-size:13px;color:var(--brand);overflow-wrap:anywhere}.account button{min-height:36px;font-size:13px;padding:6px 14px}
.shell{grid-template-columns:224px minmax(0,1fr);min-height:calc(100vh - 80px)}
.shell>nav{background:var(--brand);border:0;padding:28px 16px;position:sticky;top:0;height:100vh;align-self:start}
.shell>nav a{display:flex;align-items:center;gap:12px;color:var(--paper);min-height:46px;padding:11px 12px;margin:4px 0;border-radius:4px;font-size:14px;font-weight:500;line-height:1.4;border-left:3px solid transparent}
.shell>nav a[aria-current=page]{background:var(--mint);color:var(--brand);border-left-color:var(--paper);font-weight:700}
.nav-icon{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nav-note{font-size:12px;line-height:1.7;margin:36px 12px 0;padding-top:20px;border-top:1px solid var(--slate);color:var(--mint)}
main{max-width:1440px;padding:36px 40px 64px;min-width:0;margin-inline:auto}
h1{font-size:30px;font-weight:650;letter-spacing:-.035em;line-height:1.25;margin-bottom:10px;text-wrap:balance;overflow-wrap:anywhere}
h2{font-size:18px;font-weight:650;letter-spacing:-.015em;line-height:1.4}h3{font-size:15px;font-weight:650;line-height:1.45}
p{margin:0 0 12px}.titlebar{padding-bottom:24px;margin-bottom:8px;border-bottom:1px solid var(--border-soft);gap:20px}.titlebar p{margin:0;color:var(--slate);font-size:14px}
.panel{padding:24px;margin:24px 0;border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:0 1px 2px #2f455006}
.panel>.panel{background:var(--paper);box-shadow:none}.panel>h2{margin-bottom:16px}.panel>p:last-child{margin-bottom:0}
.item{padding:24px 0;border-color:var(--border-soft)}.item.row{gap:12px 20px}.item.row>div:first-child{flex:1 1 320px;min-width:0}.item h2{font-size:17px;margin-bottom:8px}.item p{font-size:14px;color:var(--brand);margin-bottom:8px}.item .hint{font-size:13px;color:var(--slate);margin-top:12px}
.badge{font-size:12px;line-height:1.5;font-weight:600;border:1px solid var(--border-soft);background:var(--paper);color:var(--brand);border-radius:4px;padding:4px 8px;margin:3px 4px 3px 0}.badge:first-of-type{background:var(--mint);border-color:var(--mint)}
.stats{gap:16px}.stats .panel{border-top:3px solid var(--mint);color:var(--slate);font-size:13px;font-weight:600}.stats strong{color:var(--brand);font-size:34px;line-height:1.3;letter-spacing:-.04em;margin-top:12px;font-weight:650;overflow-wrap:anywhere}
.stats strong,.income-totals strong,.hour-label,.badge{font-variant-numeric:tabular-nums}
.fields{gap:24px}.field{min-width:0}label{font-size:13px;font-weight:600;color:var(--brand);margin-bottom:8px;line-height:1.5}
input,select,textarea{font-size:15px;line-height:1.5;min-height:44px;border:1px solid var(--slate);border-radius:4px;padding:10px 12px;background:var(--surface);box-shadow:none;accent-color:var(--brand)}
textarea{min-height:112px}input:disabled,select:disabled{background:var(--paper);color:var(--slate);cursor:not-allowed}input[type=checkbox]{width:18px;height:18px;min-height:18px;margin-right:6px}
input[type=file]{padding:8px;font-size:13px}input::file-selector-button{border:0;border-radius:3px;background:var(--paper);color:var(--brand);font:inherit;font-weight:600;padding:7px 10px;margin-right:12px;cursor:pointer}
small,.helptext{display:block;font-size:12px;line-height:1.6;color:var(--slate);margin-top:6px}
button,.button{font-size:14px;line-height:1.4;font-weight:600;min-height:44px;padding:10px 16px;border-radius:4px;background:var(--brand);color:white;white-space:normal;text-align:center;max-width:100%;box-shadow:none}
button.secondary,.button.secondary{background:white;color:var(--brand);border-color:var(--border-soft)}button:disabled{opacity:.6;cursor:not-allowed}
:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.shell>nav a:focus-visible{outline-color:var(--mint)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-width:2px;outline-offset:2px}
.actions{gap:10px;margin-top:20px}.actions>a:not(.button){font-size:13px;font-weight:600}.hint{font-size:13px;line-height:1.7;color:var(--slate)}
.notice{background:var(--mint);border:0;border-left:3px solid var(--brand);padding:14px 18px;font-size:14px;border-radius:4px;margin-bottom:24px;overflow-wrap:anywhere}
.errorlist{font-size:14px;border-left:3px solid var(--brand);background:var(--paper);padding:12px 12px 12px 28px;border-radius:0 4px 4px 0}
.client-choice{border-color:var(--border-soft);padding-bottom:24px;margin-bottom:24px}.client-choice .fields{margin-top:20px}
details{border-color:var(--border-soft);padding-top:20px;margin:24px 0}summary{font-size:14px;min-height:32px;line-height:1.6}details[open]>summary{margin-bottom:20px}
.section-tabs{background:var(--surface);border:1px solid var(--border-soft);padding:8px;gap:4px}.section-tabs a{font-size:13px;font-weight:600;text-decoration:none;color:var(--brand);padding:10px 12px;min-height:40px;border-radius:4px}
.filter-form{background:var(--surface)}.filter-form .actions{border-top:1px solid var(--border-soft);padding-top:16px}.calendar-controls{margin-bottom:16px}.calendar-controls .actions{margin-top:0}
.calendar-scroll{border-color:var(--border-soft);border-radius:4px}.calendar-header{border-color:var(--border-soft);font-size:13px;color:var(--brand)}.calendar-header span{font-size:12px;margin-top:3px}.calendar-header.today{box-shadow:inset 0 3px var(--brand)}
.calendar-event{border:0;border-left:3px solid var(--brand);border-radius:3px;padding:3px 5px}.calendar-event.confirmed{border-left-color:var(--mint)}.calendar-event strong{font-weight:650}.calendar-event .appointment-status{font-size:10px;line-height:13px}.hour-label{color:var(--slate)}
.income-totals{gap:16px}.income-totals>div{border:1px solid var(--border-soft);background:var(--paper);color:var(--brand);font-size:13px}.income-totals strong{font-size:28px;letter-spacing:-.025em}.bar-track{height:12px;border:0;border-radius:2px;background:var(--paper)}.income-bar{border-radius:2px}.income-row{border-color:var(--border-soft)}
.login{max-width:460px;margin:48px auto}.login h1{font-size:28px}.login button{width:100%;margin-top:8px}.printable{color:var(--ink)}
.skip-link{position:absolute;left:16px;top:-100px;z-index:20;padding:12px;background:white;color:var(--brand);border:2px solid var(--brand)}.skip-link:focus{top:12px}
@media(hover:hover) and (pointer:fine){.shell>nav a:hover:not([aria-current=page]){background:var(--slate);color:white}button:hover:not(:disabled),.button:hover{background:var(--slate);border-color:var(--slate);box-shadow:none;color:white}.section-tabs a:hover{background:var(--paper)}button:active:not(:disabled),.button:active{transform:translateY(1px)}}
@media(min-width:701px) and (max-width:1024px){.shell{grid-template-columns:192px minmax(0,1fr)}main{padding:28px 24px}.shell>nav{padding:24px 10px}.shell>nav a{font-size:13px;gap:8px;padding-inline:8px}.fields{gap:20px}}
@media(max-width:700px){header{min-height:72px;padding:14px 16px;gap:12px}.logo{font-size:13px;gap:10px}.logo small{font-size:10px;letter-spacing:.07em}.symbol{width:34px;height:36px}.account{font-size:12px;gap:8px}.account button{padding:6px 10px}.shell{display:block;min-height:0}.shell>nav{position:static;height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 12px;gap:2px 8px}.shell>nav a{margin:0;font-size:12px;padding:9px 8px;min-height:42px;gap:8px}.nav-icon{width:16px;height:16px}.nav-note{display:none}main{padding:24px 16px 40px}h1{font-size:26px}.titlebar{gap:16px;padding-bottom:20px}.panel{padding:18px;margin:20px 0}.fields{grid-template-columns:1fr;gap:20px}input,select,textarea{font-size:16px}.stats{grid-template-columns:1fr;gap:12px;margin:20px 0}.stats .panel{padding:16px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-soft);border-left:3px solid var(--mint)}.stats strong{font-size:28px;margin:0}.item.row>div:first-child{flex-basis:100%}.item.row>.button{flex:1 1 auto}.section-tabs{gap:4px}.section-tabs a{padding:8px;font-size:12px}.calendar-controls{gap:16px}.calendar-controls .actions{width:100%}.calendar-scroll{height:520px}.login{margin:16px auto}.income-totals{grid-template-columns:1fr}.full{grid-column:auto}}
@media(prefers-reduced-motion:reduce){button:active:not(:disabled),.button:active{transform:none}}
@media print{.skip-link,header,.shell>nav,.no-print{display:none!important}.shell{display:block}main{padding:0;max-width:none}.panel{border:0;box-shadow:none}.titlebar{border:0}body{font-size:12px;background:white}}

.purchase-pending{background:#fff1ce;color:#694400;border-left:4px solid #a66600;padding:10px 14px;border-radius:4px;font-weight:600}.equipment-entry{box-shadow:none}
