@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format("woff")}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/newsreader-latin-500-normal-B66TYsaK.woff2) format("woff2"),url(/assets/newsreader-latin-500-normal-DFwuUcdu.woff) format("woff")}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/newsreader-latin-600-normal-30OJ_TG_.woff2) format("woff2"),url(/assets/newsreader-latin-600-normal-DUnT2r2g.woff) format("woff")}:root{--color-bg: #f5f5ee;--color-surface: #fff;--color-surface-muted: #f3f6f0;--color-sidebar: #e9eee3;--color-chip: #dfe8dc;--color-border: #dbe4d8;--color-primary: #24654c;--color-primary-strong: #194b37;--color-primary-soft: #d9e8d8;--color-on-primary: #f2f5ed;--color-ink: #213d30;--color-ink-soft: #385647;--color-muted: #687d6e;--color-faint: #8a9c90;--color-turno-m: #25634d;--color-turno-t: #d49a55;--color-continua: #6794cf;--color-grid: #d8e2d5;--color-axis: #65756d;--color-focus: #d59b58;--color-pending: #b07a2c;--color-danger: #a75645;--color-warning-bg: #fff4dc;--color-warning-border: #ead5a8;--color-warning-ink: #705124;--color-login-art: #c8ddc8;--shadow-color: #1f563018;--shadow-color-soft: #28563a0b}:root{font-family:DM Sans,sans-serif;color:var(--color-ink);background:var(--color-bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.center{padding:5rem;text-align:center}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Newsreader,serif;letter-spacing:-.025em}h1{font-size:clamp(2.3rem,4vw,3.3rem);margin:.28rem 0 0;font-weight:500}h2{font-size:1.75rem;font-weight:600;margin:0 0 3px}h3{font-size:1.35rem;font-weight:600;margin-bottom:8px}input,textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:11px 12px;min-width:0;color:var(--color-primary-strong)}input[type=date]{width:100%}textarea{resize:vertical;min-height:76px}.text-button{border:0;background:transparent;color:var(--color-primary);font-weight:700;padding:8px 0;display:block}.text-button.danger{color:var(--color-danger)}.notice{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning-ink);border-radius:8px;padding:12px 15px;margin-bottom:18px;display:flex;justify-content:space-between;gap:12px}.notice button{border:0;background:none;font-size:1.2rem}table{width:100%;border-collapse:collapse;font-size:.8rem;white-space:nowrap}th{text-align:left;background:var(--color-primary);color:#fff}th,td{padding:9px 11px;border-bottom:1px solid var(--color-border)}tr:nth-child(2n){background:var(--color-surface-muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}@media(max-width:750px){th,td{padding:8px}}.brand{font-family:Newsreader,serif;font-size:1.5rem;display:flex;align-items:center;gap:.7rem;color:var(--color-primary-strong)}.brand-mark{display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--color-primary);color:var(--color-surface);font-family:sans-serif;font-size:1.4rem}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.shell aside{background:var(--color-sidebar);border-right:1px solid var(--color-border);padding:30px 22px;display:flex;flex-direction:column;gap:30px}.tenant{border-top:1px solid var(--color-border);padding-top:26px;display:grid;gap:7px}.tenant strong{font-size:1rem}.tenant span{font-size:.84rem;color:var(--color-muted);line-height:1.45}.shell nav{display:grid;gap:5px}.shell nav button,.logout{border:0;text-align:left;background:transparent;color:var(--color-ink-soft);padding:13px 14px;border-radius:9px;font-weight:600}.shell nav button.active{background:var(--color-primary-soft);color:var(--color-primary-strong)}.logout{margin-top:auto}.shell main{padding:38px clamp(24px,4vw,68px) 70px;min-width:0}.shell header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:31px}.kicker{font-size:.82rem;color:var(--color-muted);font-weight:700}.month-nav{display:flex;align-items:center;gap:13px;white-space:nowrap}.month-nav button{background:#fff;border:1px solid var(--color-border);border-radius:7px;font-size:1.5rem;line-height:1;padding:4px 12px;color:var(--color-primary)}.forms{display:grid;gap:4px}.forms-title{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);font-weight:700;margin-bottom:4px}.form-item{border:0;text-align:left;background:transparent;color:var(--color-ink-soft);padding:9px 12px;border-radius:9px;font-weight:600;font-size:.86rem}.form-item.active{background:var(--color-primary);color:var(--color-surface)}.form-item.soon{color:var(--color-faint);cursor:default}.form-item small{display:block;font-size:.66rem;font-weight:500;color:var(--color-faint)}.shell .module-tabs{display:flex;gap:6px;margin-top:18px;background:var(--color-sidebar);border-radius:12px;padding:5px;width:fit-content}.shell .module-tabs button{border:0;background:transparent;border-radius:9px;padding:10px 18px;text-align:left;color:var(--color-ink-soft);font-weight:700;font-size:.95rem}.shell .module-tabs button small{display:block;font-weight:500;font-size:.72rem;color:var(--color-muted);margin-top:2px}.shell .module-tabs button.active{background:var(--color-surface);color:var(--color-primary-strong);box-shadow:0 2px 8px var(--shadow-color)}@media(max-width:750px){.shell{display:block}.shell aside{padding:16px;gap:10px;border-right:0;border-bottom:1px solid var(--color-border)}.shell aside .tenant{border:0;padding:0}.shell nav{display:flex}.shell nav button{padding:9px}.logout{position:absolute;right:12px;top:13px;font-size:.75rem}.shell main{padding:25px 16px}.shell header{display:block}.month-nav{margin-top:18px}.forms{display:flex;overflow-x:auto;gap:6px;padding-bottom:2px;scrollbar-width:none}.forms-title{display:none}.form-item{white-space:nowrap;padding:7px 11px;background:var(--color-chip);font-size:.78rem}.form-item small{display:none}.form-item.soon{opacity:.75}.shell .module-tabs{width:100%}.shell .module-tabs button{flex:1;padding:10px 12px}.shell .module-tabs button small{font-size:.66rem}}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--color-sidebar)}.login .brand{position:absolute;top:36px;left:5vw;color:var(--color-on-primary)}.login:before{content:"M  /  T";display:grid;place-items:center;color:var(--color-login-art);font-family:Newsreader,serif;font-size:clamp(7rem,18vw,20rem);background:repeating-linear-gradient(90deg,var(--color-primary) 0,var(--color-primary) 1px,var(--color-primary) 1px,var(--color-primary) 70px)}.login section{align-self:center;max-width:440px;padding:40px;margin:auto}.login h1{line-height:1.06}.login p{color:var(--color-muted);line-height:1.55;margin:20px 0 28px}.login form{display:grid}.login form input{width:100%}@media(max-width:750px){.login{display:block;padding-top:120px}.login:before{display:none}.login section{padding:25px}.login .brand{left:25px}}.dashboard{display:grid;grid-template-columns:minmax(300px,420px) minmax(430px,1fr);gap:22px;align-items:start}.capture,.visuals,.report{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:26px;box-shadow:0 8px 24px var(--shadow-color-soft)}.section-head{display:flex;justify-content:space-between;align-items:start;gap:20px}.section-head p{color:var(--color-muted);font-size:.88rem;margin:0 0 22px}.capture label,.login label{display:grid;gap:8px;margin:16px 0;font-size:.82rem;font-weight:700;color:var(--color-ink-soft)}.slot-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--color-surface-muted);border-radius:10px;padding:4px;gap:4px;margin:20px 0}.slot-tabs button{border:0;background:transparent;border-radius:8px;padding:11px;color:var(--color-ink-soft);font-weight:700;text-align:left}.slot-tabs button.active{background:var(--color-surface);box-shadow:0 2px 7px var(--shadow-color)}.slot-tabs span{display:block;font-size:.7rem;font-weight:500;color:var(--color-muted);margin-top:2px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.field-grid label:first-child{grid-column:span 2}.capture form>button,.closed button,.login form button{background:var(--color-primary);color:var(--color-surface);border:0;border-radius:8px;padding:12px 18px;font-weight:700;width:100%;margin:5px 0 9px}.capture form>button:hover,.login form button:hover{background:var(--color-primary-strong)}.record-meta{font-size:.77rem;color:var(--color-muted);margin:5px 0 14px}.closed{background:var(--color-surface-muted);border-radius:10px;padding:21px}.closed p{color:var(--color-muted)}.history{margin-top:20px;border-top:1px solid var(--color-border);padding-top:14px;font-size:.8rem;color:var(--color-muted)}.history summary{cursor:pointer;font-weight:700;color:var(--color-primary-strong)}.history p{margin:12px 0 0}.mode{display:flex;gap:2px;background:var(--color-surface-muted);border-radius:8px;padding:3px}.mode button{border:0;background:transparent;border-radius:6px;padding:7px 12px;color:var(--color-ink-soft);font-size:.78rem}.mode button.active{background:var(--color-surface);color:var(--color-primary-strong);box-shadow:0 1px 5px var(--shadow-color)}.legend{display:flex;gap:22px;color:var(--color-muted);font-size:.76rem;margin:2px 0 18px}.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.morning{background:var(--color-turno-m)}.afternoon{background:var(--color-turno-t)}.chart{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:10px;padding:17px 20px 8px;margin:13px 0}.chart h3{font-size:1.15rem;margin:0 0 8px}.chart svg{display:block;width:100%;height:auto;overflow:visible}.report{max-width:1400px}.downloads{display:flex;gap:8px}.downloads button{background:var(--color-primary-soft);border:1px solid var(--color-primary-soft);border-radius:7px;color:var(--color-primary);font-weight:700;padding:9px 12px}.document-meta{font-size:.85rem;color:var(--color-muted);border-top:1px solid var(--color-border);padding-top:14px}.report-charts{display:grid;grid-template-columns:1fr 1fr;gap:13px}.table-wrap{overflow-x:auto;margin-top:24px}.disclaimer{font-size:.77rem;color:var(--color-muted);margin:20px 0 0}.month-table{white-space:normal}.month-table th.turn-m{border-bottom:3px solid var(--color-primary)}.month-table th.turn-t{border-bottom:3px solid var(--color-turno-t)}.month-table td.day{font-weight:700;white-space:nowrap}.month-table td.day small{font-weight:400;color:var(--color-muted);margin-left:3px}.month-table tr.closed td{background:var(--color-surface-muted);color:var(--color-muted)}.month-table .muted{font-style:italic}.reading{display:flex;flex-wrap:wrap;gap:2px 12px;align-items:baseline}.reading small{color:var(--color-muted);font-size:.72rem;width:100%}.pending{color:var(--color-pending);font-weight:600}@media(max-width:1150px){.dashboard,.report-charts{grid-template-columns:1fr}}@media(max-width:750px){.dashboard{display:block}.capture,.visuals,.report{padding:19px;margin-bottom:16px}.section-head{flex-wrap:wrap}.downloads{width:100%}.downloads button{flex:1;padding:12px}.report .section-head>div:first-child h2{font-size:1.4rem}.chart{padding:13px 10px 6px}.mode{width:100%}.mode button{flex:1}}
