/* Jornada: lectura del día, luego detalle. Sin gráficos que sugieran evidencia no recibida. */
.attendance-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:16px 0 27px}.attendance-hero h2{font-size:clamp(27px,3.5vw,38px);letter-spacing:-1.2px;line-height:1.14;margin:8px 0 12px;color:#17374b}.attendance-intro{font-size:14px;line-height:1.7;color:#56707d;max-width:680px;margin:0}.attendance-hero-actions{flex-shrink:0}.attendance-hero-actions .button{padding:13px 20px;min-height:46px}.attendance-filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;padding:18px 20px;border:1px solid #dce7e9;border-radius:12px;background:#fff}.attendance-field{display:flex;flex-direction:column;gap:7px;margin:0;font-size:12px;font-weight:650;color:#48616f;min-width:145px}.attendance-field input,.attendance-field select,.attendance-field textarea{font:inherit;font-weight:500;color:#17374b;border:1px solid #cbdade;border-radius:7px;min-height:43px;padding:10px 12px;background:#fff;box-sizing:border-box}.attendance-field textarea{width:100%;resize:vertical}.attendance-filters .button{min-height:43px}.attendance-filters>label:nth-of-type(2){min-width:205px}.attendance-feedback{display:flex;flex-direction:column;gap:8px;margin:12px 2px 20px;min-height:18px}.attendance-status{margin:0;font-size:12px;color:#667c87;line-height:1.7}.attendance-feedback .inline-error{margin:0}.attendance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.attendance-metric{background:#fff;border:1px solid #dce7e9;border-top:3px solid #8296a0;padding:20px 21px 17px;border-radius:12px;min-width:0}.attendance-metric>span{font-size:13px;font-weight:650;color:#48616f;display:block}.attendance-metric>strong{font-size:36px;line-height:1.25;font-weight:680;color:#17374b;display:block;margin:8px 0 6px;letter-spacing:-1px}.attendance-metric>p{font-size:11px;line-height:1.5;color:#72838c;margin:0}.attendance-metric.working{border-top-color:#168a78}.attendance-metric.meal{border-top-color:#d2a548}.attendance-metric.done{border-top-color:#4d7fb5}.attendance-metric.none{border-top-color:#a2afb6}.attendance-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#ecf5f3;border:1px solid #d4e5df;border-radius:12px;margin:18px 0 28px;padding:19px 24px}.attendance-totals>div{display:flex;flex-direction:column;gap:6px;padding:0 25px;border-left:1px solid #c9dfd7}.attendance-totals>div:first-child{border:0;padding-left:0}.attendance-totals>div:last-child{padding-right:0}.attendance-totals span{color:#446b62;font-size:12px;font-weight:600}.attendance-totals strong{color:#205a50;font-size:22px;letter-spacing:-.4px}.attendance-totals small{font-size:11px;color:#5a7a72}.attendance-warning{border:1px solid #e4d2a6;background:#fff9eb;padding:16px 20px;border-radius:10px;margin:16px 0;color:#735518;font-size:13px}.attendance-warning p{margin:5px 0 0;line-height:1.6;font-size:12px}.attendance-main{border:1px solid #dce7e9;background:#fff;border-radius:12px;overflow:hidden}.attendance-section-heading{padding:24px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e5ecee}.attendance-section-heading h3{font-size:21px;letter-spacing:-.4px;margin:6px 0 0;color:#17374b}.attendance-tabs{display:flex;gap:7px}.attendance-tabs .button{font-size:12px;min-height:40px}.attendance-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:330px}.attendance-directory{padding:18px;background:#f7fafb;border-right:1px solid #dce7e9;display:flex;flex-direction:column;gap:10px;align-self:stretch;max-height:740px;overflow:auto}.attendance-row{font:inherit;display:flex;flex-direction:column;gap:11px;width:100%;background:#fff;border:1px solid #dce7e9;border-radius:10px;padding:17px;text-align:left;cursor:pointer;color:#17374b;transition:border-color .12s,box-shadow .12s}.attendance-row:hover{border-color:#5f9f94}.attendance-row:focus-visible{outline:3px solid #58a996;outline-offset:2px}.attendance-row.is-selected{border-color:#16816f;box-shadow:0 0 0 1px #16816f;background:#f6fcfa}.attendance-row-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.attendance-row-top>strong{font-size:15px;line-height:1.4;font-weight:650;overflow-wrap:anywhere}.attendance-badge{display:inline-flex;align-items:center;border-radius:5px;font-size:11px;font-weight:650;padding:5px 8px;line-height:1.35;background:#edf1f3;color:#526670;flex-shrink:0}.attendance-badge.working{background:#e4f3ec;color:#1b6d50}.attendance-badge.meal{background:#fff2cf;color:#805d13}.attendance-badge.done{background:#eaf1fa;color:#365d86}.attendance-badge.review{background:#fff0d9;color:#8a551d}.attendance-row-meta{font-size:11px;color:#6c828d;line-height:1.5;overflow-wrap:anywhere}.attendance-row-facts{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#4b6875;line-height:1.5}.attendance-detail{padding:25px 27px;min-width:0}.attendance-detail>h3{font-size:23px;letter-spacing:-.45px;margin:7px 0 12px;color:#17374b;overflow-wrap:anywhere}.attendance-detail>h4{font-size:13px;color:#48616f;text-transform:uppercase;letter-spacing:.7px;margin:27px 0 15px}.attendance-person-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 22px;padding:20px 0 0;margin:0}.attendance-person-totals>div{min-width:0}.attendance-person-totals dt{font-size:11px;color:#71828b;margin:0 0 6px}.attendance-person-totals dd{font-size:16px;font-weight:650;color:#234658;margin:0}.attendance-detail-note{font-size:12px;color:#6a7d87;line-height:1.7;margin:15px 0}.attendance-timeline{list-style:none;margin:0;padding:0}.attendance-event{display:grid;grid-template-columns:12px minmax(0,1fr);gap:13px;position:relative;padding-bottom:23px}.attendance-event:not(:last-child):before{content:'';position:absolute;width:1px;background:#dce7e9;left:5px;top:12px;bottom:0}.attendance-event:last-child{padding-bottom:0}.attendance-event-dot{display:block;width:11px;height:11px;border-radius:50%;background:#2d8e7c;margin-top:4px;position:relative;z-index:1}.attendance-event.meal_start .attendance-event-dot,.attendance-event.meal_end .attendance-event-dot{background:#c29736}.attendance-event.exit .attendance-event-dot{background:#527ca3}.attendance-event-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.attendance-event-title strong{font-size:13px;font-weight:650}.attendance-event-title time{font-size:13px;color:#2d5264;font-variant-numeric:tabular-nums}.attendance-event p{font-size:11px;line-height:1.6;color:#607a86;margin:5px 0 3px;overflow-wrap:anywhere}.attendance-event small{font-size:10px;color:#7c8e96;line-height:1.6}.attendance-event .attendance-admin-reason{padding:8px 10px;border-left:2px solid #d6ab58;background:#fff9ee;color:#775e30}.attendance-manual{margin-top:22px;font-size:11px;min-height:39px}.attendance-empty{padding:26px 13px;font-size:13px;color:#64808b;line-height:1.8}.attendance-empty h3{font-size:17px;color:#25495b;margin-top:0}.attendance-empty .button{margin-top:14px}.attendance-review{margin-top:20px;padding:20px 24px;border:1px solid #eadbb9;border-radius:12px;background:#fffbf2}.attendance-review h3{font-size:17px;color:#775a22;margin:0 0 8px}.attendance-review p,.attendance-review li{font-size:12px;line-height:1.8;color:#7a6a49}.attendance-review ul{margin-bottom:0;padding-left:20px}.attendance-method{margin:22px 0;font-size:12px;color:#6e828c;line-height:1.8}.attendance-method summary{cursor:pointer;color:#366a70;font-weight:600}.attendance-method p{max-width:900px;margin:10px 0}.attendance-dialog{max-width:720px;width:calc(100vw - 36px);box-sizing:border-box;padding:28px;border:1px solid #d5e2e5;border-radius:14px;max-height:90vh;overflow:auto;box-shadow:0 20px 80px #17374b33}.attendance-dialog::backdrop{background:#15354966}.attendance-dialog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:12px}.attendance-dialog-top h2{font-size:25px;line-height:1.3;letter-spacing:-.5px;margin:3px 0}.attendance-dialog-top .button{padding:8px 12px;min-height:38px;flex-shrink:0}.attendance-install-steps{counter-reset:install;list-style:none;padding:0;margin:24px 0}.attendance-install-steps>li{counter-increment:install;padding:0 0 22px 44px;position:relative;margin:0 0 20px;border-bottom:1px solid #e0e9eb}.attendance-install-steps>li:before{content:counter(install);position:absolute;left:0;top:1px;display:grid;place-items:center;width:29px;height:29px;border-radius:7px;background:#e4f1ed;color:#23735e;font-size:13px;font-weight:700}.attendance-install-steps h3{font-size:16px;margin:0 0 7px}.attendance-install-steps p{font-size:12px;color:#627b86;line-height:1.8;margin:0 0 12px}.attendance-install-steps .button{font-size:11px;min-height:40px;margin:5px 8px 0 0;text-decoration:none}.attendance-mark-form{display:grid;gap:17px;margin-top:24px}.attendance-mark-form .button{justify-self:start}.attendance-mark-form textarea{min-height:90px}.attendance-mark-form .inline-error{margin:0}.attendance-mark-form input:disabled,.attendance-mark-form select:disabled,.attendance-mark-form textarea:disabled{background:#edf2f4;color:#647782}
@media(min-width:1450px){.attendance-grid{grid-template-columns:minmax(380px,1fr) minmax(430px,1fr)}.attendance-person-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.attendance-detail{padding:28px 32px}}
@media(max-width:1100px){.attendance-metrics{gap:10px}.attendance-metric{padding:17px 16px}.attendance-metric>strong{font-size:31px}.attendance-row-top{flex-direction:column;gap:8px}.attendance-detail{padding:22px}.attendance-hero{align-items:flex-start}.attendance-totals{padding:18px}.attendance-totals>div{padding:0 17px}.attendance-totals strong{font-size:19px}}
@media(max-width:780px){.attendance-hero{flex-direction:column;gap:17px}.attendance-hero h2{font-size:31px}.attendance-intro{font-size:13px}.attendance-hero-actions{width:100%}.attendance-hero-actions .button{width:100%}.attendance-filters{padding:15px;gap:10px}.attendance-field{flex:1 1 170px}.attendance-filters>label:nth-of-type(2){flex:1 1 100%;min-width:0}.attendance-filters>.button{flex-grow:1}.attendance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-metric>strong{font-size:30px}.attendance-totals{grid-template-columns:1fr;gap:15px}.attendance-totals>div,.attendance-totals>div:first-child{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:6px;border-left:0;padding:0 0 14px;border-bottom:1px solid #c9dfd7}.attendance-totals>div:last-child{border:0;padding-bottom:0}.attendance-totals small{grid-column:1/-1}.attendance-section-heading{padding:20px;align-items:flex-start;flex-direction:column;gap:15px}.attendance-section-heading h3{font-size:20px}.attendance-tabs{width:100%}.attendance-tabs .button{flex:1}.attendance-grid{grid-template-columns:1fr}.attendance-directory{border-right:0;border-bottom:1px solid #dce7e9;max-height:380px;padding:13px}.attendance-row-top{flex-direction:row}.attendance-row{padding:14px}.attendance-detail{padding:23px 20px}.attendance-dialog{padding:22px}.attendance-dialog-top h2{font-size:22px}.attendance-person-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-review{padding:18px}.attendance-install-steps>li{padding-left:39px}.attendance-install-steps .button{display:flex;width:100%;box-sizing:border-box;margin-right:0}}
@media(max-width:400px){.attendance-row-top{flex-direction:column}.attendance-metric{padding:15px 12px}.attendance-metric>p{font-size:10px}.attendance-totals strong{font-size:17px}.attendance-dialog-top{gap:9px}}
@media print{.sidebar,.page-header,.work-nav,.attendance-hero-actions,.attendance-filters,.attendance-tabs,.attendance-manual,.attendance-method,.attendance-feedback,.page-footer{display:none!important}.main{margin:0!important;padding:0!important}.attendance-grid{display:block}.attendance-directory{max-height:none;overflow:visible;display:block;border:0}.attendance-row{break-inside:avoid;margin:9px 0}.attendance-detail{break-inside:avoid}.attendance-metrics,.attendance-totals{break-inside:avoid}}
.attendance-schedule{background:#f2f7f5;border:1px solid #dbe7e1;border-radius:12px;padding:18px;margin:20px 0}.attendance-schedule h4{margin:0 0 12px}.attendance-comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.attendance-comparison dt{font-size:12px;color:#52675f}.attendance-comparison dd{font-weight:700;margin:4px 0 0}.attendance-schedule-form{display:grid;gap:12px}.attendance-schedule-form input,.attendance-schedule-form select{min-height:42px;padding:9px;border:1px solid #cad8d1;border-radius:8px}
