:root{color:#172033;font-synthesis:none;-webkit-tap-highlight-color:transparent;--blue:#0969e8;--blue-dark:#0752c4;--muted:#6c7890;--border:#e4e9f1;--card:#fff;--radius:20px;--shadow:0 8px 26px #213a5e14;background:#f3f6fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% 0,#f8fbff 0,#f3f6fb 30rem);min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{touch-action:manipulation}h1,h2,p{margin-top:0}h2{font-size:1.08rem}.app-shell{width:min(100%,46rem);min-height:100vh;margin:0 auto;padding:24px 16px 36px}.page-header{margin:12px 2px 24px}.home-header h1{letter-spacing:-.045em;font-size:clamp(1.9rem,8vw,2.5rem)}.eyebrow{color:#617089;margin-bottom:7px;font-size:.87rem;font-weight:700}.hero-card{color:#fff;text-align:left;cursor:pointer;background:linear-gradient(135deg,#0877f5 0%,#0965df 55%,#064dbd 100%);border:0;border-radius:24px;flex-direction:column;align-items:stretch;width:100%;min-height:176px;padding:25px 23px 20px;display:flex;box-shadow:0 15px 34px #075bd040}.hero-card>span{color:#fffc;font-weight:700}.hero-card>strong{letter-spacing:-.055em;margin:10px 0;font-size:clamp(2rem,10vw,2.8rem);line-height:1.08}.hero-card small{color:#ffffffbd;justify-content:space-between;gap:10px;display:flex}.hero-card small b{color:#fff}.hero-card>i{background:#fff3;border-radius:99px;height:5px;margin-top:auto;overflow:hidden}.hero-card>i span{border-radius:inherit;background:#fff;height:100%;display:block}.metric-stack{gap:14px;margin-top:18px;display:grid}.metric-card,.data-card,.calendar-card,.chart-card,.record-card,.selected-detail{border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);border:1px solid #e0e6efe6;padding:21px}.metric-card{flex-direction:column;gap:8px;display:flex}.metric-card span{color:#657189;font-weight:700}.metric-card strong{letter-spacing:-.04em;font-size:clamp(1.55rem,7vw,2.2rem);line-height:1.15}.metric-card small{color:#8892a3}.compact-card strong{font-size:clamp(1.35rem,6vw,1.85rem)}.primary-action,.secondary-action,.home-links button,.split-actions button{cursor:pointer;border:0;border-radius:15px;font-weight:750}.primary-action{color:#fff;background:var(--blue);width:100%;min-height:58px;margin-top:20px;font-size:1.08rem;box-shadow:0 10px 24px #0969e83b}.primary-action:disabled{box-shadow:none;background:#9faabd}.secondary-action{color:#0759c9;background:#e9f2ff;width:100%;min-height:48px;margin-top:5px}.home-links,.split-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:13px;display:grid}.home-links button,.split-actions button{color:#3f4c61;background:#fff;border:1px solid #d8e0eb;min-height:50px}.missing-note,.storage-note,.record-date{color:#718096;font-size:.87rem;line-height:1.55}.storage-note{text-align:center;margin-top:18px}.missing-note{margin:14px 3px 0}.subpage-header{grid-template-columns:auto 1fr;align-items:center;gap:12px;margin:2px 0 20px;display:grid}.subpage-header h1{letter-spacing:-.035em;margin:0;font-size:1.48rem}.subpage-header button,.section-heading button,.text-action{min-height:44px;color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.month-picker{grid-template-columns:48px 1fr 48px;align-items:center;margin-bottom:15px;display:grid}.month-picker strong{text-align:center;font-size:1.05rem}.month-picker button{min-width:44px;min-height:44px;color:var(--blue);cursor:pointer;background:#eaf3ff;border:0;border-radius:13px}.calendar-card{padding:16px 13px}.week-row,.month-grid{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.week-row span{color:#8a94a5;padding:7px 0 10px;font-size:.78rem}.calendar-day{color:#59657a;background:0 0;border:0;border-radius:12px;place-items:center;min-height:47px;display:grid;position:relative}.calendar-day:disabled{opacity:1}.calendar-day.has-record{color:#074fb6;cursor:pointer;background:#edf5ff;font-weight:750}.calendar-day.saturday:not(.has-record){color:#7c88a0;background:#f7f8fb}.calendar-day.non-expected{color:#a1a9b5}.calendar-day i{background:var(--blue);border-radius:50%;width:5px;height:5px;position:absolute;bottom:5px}.calendar-day.zero-record i{background:#8d99aa}.calendar-day.pending-record{color:#945500;background:#fff1d9}.calendar-day.pending-record i{background:#e28a12}.calendar-legend{color:#788397;flex-wrap:wrap;gap:12px;margin:14px 4px 2px;font-size:.76rem;display:flex}.calendar-legend span{align-items:center;gap:5px;display:flex}.calendar-legend i{background:var(--blue);border-radius:50%;width:7px;height:7px}.calendar-legend .legend-zero{background:#8d99aa}.calendar-legend .legend-pending{background:#e28a12}.section-heading{justify-content:space-between;align-items:center;margin:25px 2px 10px;display:flex}.section-heading h2{margin:0}.record-list{gap:11px;display:grid}.empty-state{color:#7b8799;text-align:center;background:#ffffffa6;border:1px dashed #d6deea;border-radius:18px;padding:34px 15px}.record-item{width:100%;color:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #e6ebf2;border-radius:17px;padding:17px;box-shadow:0 4px 16px #2238580e}.record-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.record-title strong{font-size:1rem}.badge{color:#69758a;background:#eff2f6;border-radius:8px;padding:3px 7px;font-size:.7rem}.badge.today{color:#075fcf;background:#e8f3ff}.badge.pending{color:#935800;background:#fff0d6}.record-times,.record-totals{color:#69758a;flex-wrap:wrap;gap:10px 18px;margin-top:10px;font-size:.84rem;display:flex}.record-totals strong{color:#172033}.record-totals .overtime strong{color:#07964b}.tabs{background:#e9edf4;border-radius:14px;grid-template-columns:1fr 1fr;gap:5px;margin:16px 0 13px;padding:4px;display:grid}.tabs button{color:#667287;background:0 0;border:0;border-radius:11px;min-height:43px;font-weight:700}.tabs button.active{color:#075bc9;background:#fff;box-shadow:0 3px 10px #2035531a}.summary-line{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.summary-line span{color:#6d7890}.summary-line strong{font-size:1.7rem}.chart-card{padding:15px 10px 18px}.chart{width:100%;height:280px}.selected-detail{box-shadow:none;margin-top:12px}.selected-detail h3{margin:0 0 14px;font-size:1rem}.detail-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.detail-row{gap:4px;display:grid}.detail-row span{color:#788397;font-size:.78rem}.detail-row strong{font-size:.9rem}.record-card{gap:17px;display:grid}.record-date{margin:-8px 2px 12px}.time-field,.note-field{color:#45536a;gap:7px;font-weight:700;display:grid}.time-field input{color:#142033;letter-spacing:.055em;background:#fff;border:2px solid #dce4ef;border-radius:14px;outline:none;width:100%;height:61px;padding:0 15px;font-size:1.45rem}.time-field input:focus,.note-field textarea:focus{border-color:#0870ef;box-shadow:0 0 0 4px #0870ef1a}.time-field small{color:#8792a5;font-weight:500}.toggle-row{justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex}.toggle-row span{gap:4px;display:grid}.toggle-row small{color:#8994a5;font-weight:500}.toggle-row input{width:26px;height:26px;accent-color:var(--blue)}.note-field textarea{resize:vertical;border:2px solid #dce4ef;border-radius:13px;outline:none;min-height:82px;padding:12px}.not-attending{color:#53637a;background:#f2f5f9;border-radius:13px;padding:15px}.delete-action{color:#b13737;cursor:pointer;background:0 0;border:0;min-height:46px}.pending-detail{gap:13px}.notice{border-radius:13px;margin:10px 0;padding:13px 15px;line-height:1.45}.notice.error{color:#982a2a;background:#fff0f0}.notice.warning{color:#855000;background:#fff4dc}.notice.success{color:#16653c;background:#e9f8ef}.data-card{margin-bottom:14px}.data-card h2{margin-bottom:7px}.data-card p{color:#707c90;font-size:.86rem;line-height:1.5}.data-card .text-action{width:100%;margin-top:9px;display:block}.danger-text{color:#a74747!important}.modal-backdrop{z-index:10;background:#0d182a7a;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:23px;width:min(100%,40rem);max-height:88vh;padding:20px;overflow:auto;box-shadow:0 24px 60px #00000040}.modal-card h2{margin-bottom:14px}.preview-row{border-bottom:1px solid #edf0f4;justify-content:space-between;gap:18px;padding:9px 0;display:flex}.preview-row span{color:#748095}.modal-card details{background:#f5f7fa;border-radius:12px;margin-top:12px;padding:12px}.modal-card summary{cursor:pointer;font-weight:700}.modal-card details p{color:#657187;font-size:.82rem}.conflict-row{align-items:center;gap:8px;padding:10px 0;font-size:.84rem;display:flex}.conflict-row input{width:20px;height:20px}.modal-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.modal-actions button{border:0;border-radius:13px;min-height:48px;font-weight:750}.modal-actions .confirm{color:#fff;background:var(--blue)}.record-item-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.record-item-head strong{font-size:1rem}.record-item-head>span{color:#7b8699;font-size:.82rem}.record-item-head em{color:#075fcf;background:#e8f3ff;border-radius:8px;padding:3px 7px;font-size:.7rem;font-style:normal}.record-item-head .warn-tag{color:#935800;background:#fff0d6}.record-item-head .muted-tag{color:#69758a;background:#eff2f6}.record-totals .positive{color:#07964b}.record-item>small{color:#8b95a5;margin-top:9px;display:block}.detail-summary{justify-content:space-between;align-items:baseline;gap:12px;margin:6px 2px 14px;display:flex}.detail-summary span{color:#6d7890}.detail-summary strong{font-size:1.55rem}.chart-detail{color:#647187;background:#f5f7fa;border-radius:14px;gap:7px;margin:4px 8px 0;padding:14px;font-size:.83rem;display:grid}.chart-detail strong{color:#182237}@media (width>=600px){.app-shell{padding:38px 24px 50px}.metric-stack{grid-template-columns:1fr 1fr}.metric-stack .compact-card{grid-column:1/-1}.modal-backdrop{align-items:center}}@media (display-mode:standalone){.app-shell{padding-top:max(24px, env(safe-area-inset-top));padding-bottom:max(36px, env(safe-area-inset-bottom))}}
