:root{--bg-top: #e8f2ec;--bg-bottom: #f7f3ea;--ink: #14201a;--ink-soft: #3d4f45;--brand: #0f3d2e;--brand-soft: #1a5c45;--accent: #c45c26;--accent-soft: #f3e0d4;--line: rgba(20, 32, 26, .12);--danger: #9b1c1c;--ok: #0f3d2e;--surface: rgba(255, 255, 255, .72);--shadow: 0 10px 30px rgba(15, 61, 46, .08);--radius: 18px;--tap: 52px;--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--font-body: "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;color-scheme:light}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;font-family:var(--font-body);color:var(--ink);background:radial-gradient(120% 80% at 10% -10%,#d7ebe0 0%,transparent 55%),radial-gradient(90% 60% at 100% 0%,#f0e2d2 0%,transparent 50%),linear-gradient(180deg,var(--bg-top),var(--bg-bottom));background-attachment:fixed;line-height:1.4;padding:env(safe-area-inset-top) env(safe-area-inset-right) calc(1.5rem + env(safe-area-inset-bottom)) env(safe-area-inset-left)}.skip-link{position:absolute;left:-999px;top:0;background:var(--brand);color:#fff;padding:.75rem 1rem;z-index:100}.skip-link:focus{left:.75rem;top:.75rem}.app-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.25rem .5rem;animation:rise .45s ease-out both}.brand{margin:0;font-family:var(--font-display);font-size:clamp(2.4rem,9vw,3.2rem);line-height:.95;letter-spacing:-.03em;color:var(--brand)}.title{margin:.35rem 0 0;font-size:1.05rem;font-weight:600;color:var(--ink-soft)}.subtitle{margin:.2rem 0 0;font-size:.92rem;color:var(--ink-soft)}.icon-btn{min-height:44px;padding:.55rem .9rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--brand);font:inherit;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.icon-btn:active{transform:scale(.98)}.app-main{max-width:560px;margin:0 auto;padding:0 1.1rem 2rem;display:flex;flex-direction:column;gap:1.35rem}.search-section{animation:rise .5s ease-out .05s both}.field-label{display:block;font-weight:700;margin-bottom:.45rem}.search-field{position:relative;display:block}.search-input{width:100%;min-height:var(--tap);padding:.85rem 1rem;border:2px solid var(--brand);border-radius:var(--radius);font:inherit;font-size:1.15rem;background:#fff;color:var(--ink);box-shadow:var(--shadow)}.search-input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-input[type=search]::-webkit-search-decoration,.search-input[type=search]::-webkit-search-cancel-button,.search-input[type=search]::-webkit-search-results-button,.search-input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:none}.search-field .search-input{padding-right:3.25rem}.search-input:focus{outline:3px solid color-mix(in srgb,var(--accent) 45%,white);outline-offset:2px}.search-clear{position:absolute;right:.2rem;top:50%;transform:translateY(-50%);width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;border:none;border-radius:calc(var(--radius) - 4px);background:transparent;color:var(--ink-soft);font:inherit;font-size:1.55rem;font-weight:500;line-height:1;cursor:pointer;display:grid;place-items:center;-webkit-tap-highlight-color:transparent}.search-clear[hidden]{display:none}.search-clear:hover,.search-clear:active{color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent)}.search-clear:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,white);outline-offset:2px;color:var(--brand)}.date-input{width:100%;min-width:0;min-height:44px;padding:.5rem .7rem;border:2px solid var(--brand);border-radius:12px;font:inherit;font-size:1rem;font-weight:600;line-height:1.25;background:#fff;color:var(--ink);box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;color-scheme:light}.date-input:focus{outline:3px solid color-mix(in srgb,var(--accent) 45%,white);outline-offset:2px}.date-input::-webkit-date-and-time-value{text-align:left;margin:0;min-height:0}.date-input::-webkit-datetime-edit{padding:0;min-height:0}.date-input::-webkit-calendar-picker-indicator{margin:0;padding:0;opacity:.65;cursor:pointer}.hint{margin:.55rem 0 0;font-size:.9rem;color:var(--ink-soft)}.hint.warn{color:var(--danger)}.hint code{font-size:.84em;background:#0f3d2e14;padding:.1em .35em;border-radius:6px}.result-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.45rem}.result-btn{width:100%;min-height:var(--tap);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.15rem;padding:.75rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-align:left;font:inherit;cursor:pointer;transition:transform .12s ease,background .12s ease}.result-btn:active{transform:scale(.985);background:#fff}.result-name{font-weight:700;font-size:1.05rem}.result-meta{font-size:.88rem;color:var(--ink-soft)}.empty-state{margin:.75rem 0 0;color:var(--ink-soft);font-size:.95rem}.toast-region{min-height:0}.toast{padding:.85rem 1rem;border-radius:14px;background:var(--brand);color:#f5faf7;font-weight:600;box-shadow:var(--shadow);animation:pop .28s ease-out}.undo-bar:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .9rem;border-radius:14px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,white);animation:rise .3s ease-out}.undo-bar[hidden]{display:none!important}.undo-bar p{margin:0;font-size:.95rem}.section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.today-section,.reports-section{animation:rise .55s ease-out .1s both}h2{margin:0;font-family:var(--font-display);font-size:1.55rem;color:var(--brand);letter-spacing:-.02em}h3{margin:.85rem 0 .4rem;font-size:1rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.late-list{list-style:none;margin:0;padding:0}.late-row{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.late-row-actions{position:absolute;inset:0 0 0 auto;display:flex;width:88px;z-index:0}.late-delete-btn{flex:1;margin:0;border:none;border-radius:0;padding:0 .5rem;background:var(--danger);color:#fff;font:inherit;font-weight:700;font-size:.88rem;letter-spacing:.01em;cursor:pointer;-webkit-tap-highlight-color:transparent}.late-delete-btn:active{filter:brightness(.92)}.late-item{display:grid;grid-template-columns:3.4rem 1fr auto;gap:.65rem;align-items:baseline;padding:.65rem 0;border-bottom:1px solid var(--line);min-height:44px}.late-row>.late-item{border-bottom:none}.late-row-content{position:relative;z-index:1;background:color-mix(in srgb,var(--bg-bottom) 88%,#fff);touch-action:pan-y;transition:transform .22s ease;will-change:transform;cursor:grab;user-select:none;-webkit-user-select:none}.late-row-content.is-swiping{transition:none;cursor:grabbing}.late-time{font-variant-numeric:tabular-nums;font-weight:700;color:var(--accent)}.late-name{font-weight:600}.late-gs{color:var(--ink-soft);font-size:.9rem}.report-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.85rem}.btn{min-height:var(--tap);border-radius:14px;border:none;font:inherit;font-weight:700;padding:.75rem 1rem;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.btn:active{transform:scale(.98)}.btn-primary{background:var(--brand);color:#f4faf7}.btn-secondary{background:#fff;color:var(--brand);border:1px solid var(--line)}.btn-danger{background:var(--danger);color:#fff}.btn-danger-ghost{background:transparent;color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 35%,white);min-height:44px;padding:.45rem .75rem;font-size:.92rem}.preview-details{margin-top:.9rem;border-top:1px solid var(--line);padding-top:.75rem}.preview-details summary{cursor:pointer;font-weight:600;color:var(--brand-soft);min-height:44px;display:flex;align-items:center}.report-preview{white-space:pre-wrap;background:#ffffffb3;border:1px solid var(--line);border-radius:12px;padding:.85rem;font-size:.88rem;overflow-x:auto;margin:.55rem 0 0}.sheet{border:none;border-radius:22px 22px 0 0;padding:0;width:min(100vw,560px);max-width:100%;margin:auto 0 0 auto;max-height:min(92dvh,900px);background:#fbf8f2;box-shadow:0 -12px 40px #0000002e}.sheet::backdrop{background:#0c181273}.confirm-sheet{border-radius:22px;margin:auto;width:min(92vw,420px)}.sheet-inner{display:flex;flex-direction:column;max-height:inherit}.sheet-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.1rem .5rem;position:sticky;top:0;background:#fbf8f2}.sheet-body{padding:.25rem 1.1rem 1.4rem;overflow:auto}.settings-block{padding:.85rem 0 1rem;border-bottom:1px solid var(--line)}.settings-block:last-child{border-bottom:none}.file-label{display:inline-flex;align-items:center;justify-content:center;margin-top:.65rem}.import-mode{display:flex;flex-direction:column;gap:.45rem;margin-top:.85rem}.radio-row{display:flex;align-items:center;gap:.55rem;min-height:44px;font-size:.95rem}.import-resultado{margin-top:.75rem;white-space:pre-wrap;padding:.75rem;border-radius:12px;background:color-mix(in srgb,var(--ok) 10%,white);border:1px solid color-mix(in srgb,var(--ok) 25%,white);font-size:.9rem}.import-resultado.is-error{background:color-mix(in srgb,var(--danger) 10%,white);border-color:color-mix(in srgb,var(--danger) 30%,white)}#btn-demo,#btn-borrar-nomina{width:100%;margin-top:.55rem}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1rem;padding:0 1.1rem 1.2rem}.confirm-sheet .confirm-actions{padding:0}.confirm-sheet .sheet-inner{padding:1.15rem 1.15rem 1.2rem}.confirm-sheet p{margin:.55rem 0 0;color:var(--ink-soft)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(min-width:640px){.sheet{border-radius:22px;margin:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}body.locked .app-header,body.locked .app-main,body.locked .skip-link{display:none}body:not(.locked) .lock-screen{display:none}.lock-screen{max-width:420px;margin:18vh auto 0;padding:0 20px;display:grid;gap:12px}.sync-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.sync-bar .hint{margin:0}.counts-section{margin-top:24px}.counts-range{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem;margin-bottom:10px;align-items:start}.counts-range .field-label{display:grid;gap:.35rem;margin-bottom:0;min-width:0}.counts-range .date-input{width:100%;min-width:0}.app-header .icon-btn+.icon-btn{margin-left:6px}*,*:before,*:after{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}input,button,select,textarea,pre,code{max-width:100%}pre,code{white-space:pre-wrap;word-break:break-word}.sheet{width:100%;max-width:560px;margin:auto auto 0}.sheet-header,.sheet-body,.settings-block{min-width:0;max-width:100%}.settings-block .btn{white-space:normal}.app-header{flex-wrap:wrap}.header-actions{display:flex;gap:6px;flex-wrap:wrap}.toast-region{position:fixed;left:0;right:0;bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;display:flex;justify-content:center;padding:0 16px;pointer-events:none}.toast{max-width:560px;width:100%;pointer-events:none}:root{--pad-x: 1.15rem}.app-header,.app-main{padding-left:var(--pad-x);padding-right:var(--pad-x)}body:has(dialog[open]){overflow:hidden;touch-action:none}#dialog-primer-uso .sheet-inner{padding:1.15rem 1.15rem calc(1.2rem + env(safe-area-inset-bottom))}#dialog-primer-uso p{margin:.55rem 0 0}#dialog-primer-uso .confirm-actions{padding:0}.confirm-actions .btn,.report-actions .btn{white-space:nowrap;font-size:.95rem;padding-left:.6rem;padding-right:.6rem;min-width:0;overflow:hidden;text-overflow:ellipsis}.confirm-sheet{width:min(calc(100vw - 2rem),420px);max-width:calc(100vw - 2rem);margin:auto}.confirm-sheet .sheet-inner{padding-bottom:calc(1.2rem + env(safe-area-inset-bottom))}.toast-region{bottom:calc(12px + env(safe-area-inset-bottom));z-index:1000}.toast:not([hidden]){display:block}.toast{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem;padding:.7rem 1rem}body.toast-on .app-main{padding-bottom:calc(5rem + env(safe-area-inset-bottom))}#btn-conteos{margin-top:.25rem}#lista-conteos{margin-top:.85rem}.settings-block{display:grid;gap:.6rem}.settings-block>*{margin-top:0;margin-bottom:0}.settings-block .btn,.settings-block .file-label{width:100%;justify-content:center;text-align:center}.counts-section .hint{margin-bottom:.9rem}
