:root{--bg:#f3f4f6;--ink:#17243b;--muted:#707681;--green:#143978;--line:#dfe2e7;--gold:#6250bb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Tahoma,Arial,sans-serif;font-size:14px;line-height:1.8}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.45;cursor:wait}header{background:#101b2e;color:white;padding:22px 24px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px}.brand strong{font-size:25px}.brand small{display:block;color:#adb6c6;font-size:11px}.logo{display:grid;place-items:center;border:1px solid #78849a;border-radius:15px;width:48px;height:48px;font-size:30px;color:#a8bee5}main{max-width:860px;margin:auto;padding:24px 20px 110px}h1{font-size:24px;margin:0 0 5px}h2{font-size:18px;margin:0}h3{font-size:15px;margin:0}.sub,.muted{color:var(--muted);font-size:12px}p{margin:8px 0}.section-title{display:flex;justify-content:space-between;align-items:center;margin:26px 0 12px;gap:10px}.hero{background:#17253e;border-radius:24px;color:white;padding:26px;position:relative;overflow:hidden}.hero:after{content:'◌';position:absolute;left:10px;top:-60px;font-size:190px;color:#717e9525;pointer-events:none}.hero .sub{color:#bbc2cd}.hero h1{font-size:27px}.pill{display:inline-block;font-size:11px;padding:4px 11px;border-radius:20px;background:#e7ebf1;color:var(--green)}.hero .pill{background:#ffffff16;color:#bdcde9;margin-bottom:14px}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.stat{padding:18px;background:white;border:1px solid var(--line);border-radius:18px}.stat strong{display:block;font-size:26px;font-weight:600;font-variant-numeric:tabular-nums}.stat span{color:var(--muted);font-size:12px}.stat.accent{background:#e2e6ee}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.btn{padding:12px 18px;border-radius:12px;background:var(--green);color:white;font-weight:bold;min-height:46px}.btn.secondary{background:#e6e9ed;color:var(--ink)}.btn.danger{background:#f9e5e8;color:#a83548}.btn.light{background:white;color:var(--ink);border:1px solid var(--line)}.icon{border:0;background:transparent;color:inherit;font-size:25px;padding:4px 10px;min-width:44px;min-height:44px}.card{padding:17px;background:white;border:1px solid var(--line);border-radius:17px;margin:10px 0}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.person{display:flex;align-items:center;gap:12px;min-width:0}.avatar{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border-radius:13px;background:#e3e7ee;color:#3f4c63;font-size:19px}.money{font-weight:bold;color:var(--green)}.empty{text-align:center;padding:32px 18px;border:1px dashed #c4cad3;border-radius:18px;color:var(--muted);margin:15px 0}.empty strong{display:block;color:var(--ink);font-size:17px}.empty .symbol{font-size:34px;display:block;margin-bottom:8px}nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#ffffff;border-top:1px solid var(--line);padding:9px 5px max(9px,env(safe-area-inset-bottom));z-index:10}nav button{flex:1;max-width:150px;background:transparent;color:#7c8088;padding:7px 0;font-size:11px;border-radius:12px}nav button b{display:block;font-size:20px;line-height:1.3}nav button.active{background:#e9ecf1;color:var(--green)}label{display:block;margin:12px 0 5px;font-size:12px;color:#535b6a}input,select,textarea{width:100%;padding:12px;border:1px solid #cbcfd7;border-radius:11px;background:#fbfcfd;color:var(--ink);outline:none;min-height:48px}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #14397812}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--green)}.check{display:flex;align-items:center;gap:8px;padding:7px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.overlay{position:fixed;inset:0;background:#08122280;z-index:30;display:flex;align-items:flex-end;justify-content:center;padding-top:24px}.overlay[hidden]{display:none}.sheet{background:var(--bg);border-radius:25px 25px 0 0;padding:20px 22px 28px;width:100%;max-width:620px;max-height:94dvh;overflow:auto}.sheet-head{display:flex;align-items:center;justify-content:space-between}.sheet .submit{width:100%;margin-top:22px}.error{color:#a4263b;background:#ffecef;padding:10px;border-radius:8px}.notice{background:#e1e7f0;padding:12px;border-radius:12px;font-size:12px}.list-actions{display:flex;gap:5px;margin-top:10px}.link{background:none;color:var(--green);padding:6px 10px;font-size:12px}.danger-text{color:#a83548}#toast{position:fixed;bottom:95px;left:20px;right:20px;max-width:500px;margin:auto;background:#17243b;color:white;padding:12px 20px;border-radius:13px;z-index:50;display:none}.preview{width:100%;max-height:260px;object-fit:contain;border-radius:12px;background:#eeeeee}.tabs{display:flex;gap:6px;overflow:auto;margin:15px 0}.tabs button{white-space:nowrap;padding:9px 13px;border-radius:20px;background:white;color:var(--ink);border:1px solid var(--line)}.tabs button.active{background:var(--green);color:white}.week{overflow:auto;display:flex;gap:7px;margin:14px 0}.day{min-width:64px;padding:9px;background:white;border:1px solid var(--line);border-radius:12px;color:var(--ink)}.day.active{background:var(--green);color:white}.day small{display:block}.search{margin:15px 0}.divider{border-top:1px solid var(--line);margin:18px 0}.tag{font-size:11px;background:#eef0f3;border-radius:6px;padding:3px 7px}.bar{height:6px;border-radius:9px;background:#e4e7ec;overflow:hidden;margin-top:12px}.bar i{display:block;height:100%;background:#506995}button:focus-visible{outline:3px solid #6250bb;outline-offset:2px}strong,h3{overflow-wrap:anywhere}@media(min-width:700px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.sheet{border-radius:24px;margin-bottom:30px}.overlay{align-items:center}.hero{padding:32px}}@media print{header,nav,.actions,.tabs,button,.overlay{display:none!important}main{padding:0;max-width:none}.card,.stat{break-inside:avoid}body{background:white}}
:root{--muted:#515864}body{font-size:17px;line-height:1.85}header{padding:15px 20px}.brand strong{font-size:28px;font-weight:800}.brand small{font-size:13px}.brand .logo{font-weight:800}main{max-width:960px;padding:22px 18px 120px}h1{font-size:27px;font-weight:800}h2{font-size:21px;font-weight:800}h3{font-size:19px;font-weight:800}.sub,.muted{font-size:15px;color:#515864}label{font-size:16px;font-weight:700;color:#343e4f;margin-top:16px}input,select,textarea{font-size:18px;min-height:54px;padding:12px 14px}input[type=checkbox]{width:28px;height:28px;min-height:28px;flex-shrink:0}.check{min-height:54px;gap:12px}.btn{min-height:54px;font-size:17px;font-weight:800}.link{font-size:15px;min-height:48px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px}.icon{font-size:29px;min-width:48px;min-height:48px}.card{border-radius:18px}.pill,.tag{font-size:14px}.notice{font-size:15px}.stat span{font-size:15px}.stat strong{font-size:28px!important;font-weight:800;overflow-wrap:anywhere}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:17px}.list-actions{flex-wrap:wrap}.empty strong{font-size:21px}.empty{font-size:16px;padding:25px 15px}svg{width:26px;height:26px;flex-shrink:0;vertical-align:middle}nav{padding:7px 4px max(9px,env(safe-area-inset-bottom))}nav button{font-size:14px;font-weight:800;min-height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}nav svg{width:28px;height:28px}nav button.active{color:#09285d;background:#e2e6ee}nav button{color:#545b66}.sheet{padding:18px 20px 25px;max-height:92dvh}.sheet-head{margin-bottom:12px}.sheet .submit{position:sticky;bottom:0;box-shadow:0 -8px 18px var(--bg);min-height:56px;font-size:19px}.advanced{margin-top:20px;background:#eceef1;border-radius:14px;padding:0 14px}.advanced summary{cursor:pointer;min-height:56px;padding:13px 3px;font-size:16px;font-weight:700}.advanced[open]{padding-bottom:15px}.advanced .advanced{background:#e3e6ec}.home-intro{margin-bottom:20px}.home-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.shortcut{display:flex;flex-direction:column;align-items:flex-start;text-align:right;border:1px solid #cdd3dc;background:white;color:var(--ink);border-radius:22px;padding:22px 16px;gap:12px;min-height:175px}.shortcut.primary{background:#173364;color:white;border-color:#173364}.shortcut svg{width:34px;height:34px}.shortcut strong{font-size:21px;font-weight:800}.shortcut span{font-size:14px}.home-tools{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.home-tools button{display:flex;align-items:center;gap:9px;padding:15px 12px;border-radius:14px;background:#e5e8ee;color:var(--ink);font-size:16px;font-weight:800;min-height:66px}.home-tools b{margin-right:auto}.backup-shortcut{width:100%;display:flex;justify-content:space-between;padding:20px;background:none;color:var(--ink);font-size:17px;font-weight:700}.menu-list{margin-top:20px}.menu-list button{width:100%;padding:23px 18px;display:flex;align-items:center;gap:18px;color:var(--ink);background:white;border:1px solid var(--line);border-radius:16px;margin:12px 0;text-align:right}.menu-list button svg:last-child{margin-right:auto}.simple-hint{font-size:16px;margin:14px 0}.date-bar{display:flex;align-items:center;background:white;border:1px solid #bac2cf;border-radius:16px;margin:18px 0 12px;padding:3px;gap:2px}.date-main{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;min-height:60px;font-size:19px;font-weight:800;background:transparent;color:var(--ink)}.date-bar>.icon{color:var(--green)}.date-input{display:flex;width:100%;align-items:center;gap:12px;min-height:58px;background:white;border:1px solid #bac2cf;border-radius:12px;padding:12px 15px;color:var(--ink);text-align:right}.date-input span{margin-right:auto;color:var(--green);font-size:15px}.attendance-summary{display:flex;justify-content:space-between;align-items:center;margin:16px 0 8px}.attendance-summary strong{font-size:18px}.quick-row{display:flex;border:1px solid #d4d8de;background:white;border-radius:17px;margin:10px 0;min-height:91px;overflow:hidden}.quick-row.is-present{background:#e9edf4;border-color:#9babc7}.quick-person{display:flex;align-items:center;gap:15px;flex:1;text-align:right;background:transparent;padding:16px 14px;color:var(--ink);min-width:0;touch-action:pan-y;user-select:none;-webkit-user-select:none}.quick-person strong{display:block;font-size:20px;font-weight:800}.quick-person small{display:block;font-size:14px;margin-top:2px;color:#4f5765}.big-check{width:33px;height:33px;flex-shrink:0;border:2px solid #798497;border-radius:10px;display:grid;place-items:center;background:white}.is-present .big-check{background:#133673;border-color:#133673;color:white}.big-check svg{width:25px;height:25px;stroke-width:3}.detail-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:65px;border-right:1px solid #d4d8de;background:transparent;color:#4a5362;padding:8px}.detail-button span{font-size:12px;font-weight:700}.detail-hint{line-height:1.9;margin:17px 3px}.calendar-overlay{z-index:65;background:#08122299}.calendar-sheet{max-width:440px;background:white}.calendar-heading{display:flex;align-items:center;gap:5px;margin-bottom:16px}.calendar-heading select{padding:8px 5px;min-height:48px;font-size:17px;font-weight:800;flex:1;min-width:0}.calendar-heading .icon{min-width:36px;width:36px;padding:3px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-grid .weekday{font-size:15px;text-align:center;color:#606978;margin-bottom:8px}.calendar-grid button{aspect-ratio:1;min-height:42px;border-radius:12px;font-size:19px;font-weight:800;background:#eff2f6;color:var(--ink);padding:0}.calendar-grid button.today{box-shadow:inset 0 0 0 2px #4f6892}.calendar-grid button.chosen{background:#173569;color:white}.calendar-quick{display:flex;gap:10px;margin-top:20px}.calendar-quick button{flex:1}.combo{position:relative}.combo-control{display:flex;direction:ltr}.combo-control input{border-radius:12px 0 0 12px;text-align:center;border-right:0}.combo-control>button{min-width:54px;border:1px solid #cbcfd7;border-radius:0 12px 12px 0;background:#e3e7ee;color:var(--ink);font-size:30px}.combo-options{position:absolute;top:calc(100% + 3px);right:0;left:0;background:white;box-shadow:0 8px 28px #17243b33;border:1px solid #b7becb;max-height:240px;overflow:auto;z-index:40;border-radius:12px;padding:5px}.combo-options button{display:block;width:100%;min-height:50px;background:white;color:var(--ink);border-radius:8px;font-size:18px;text-align:center}.combo-options button:hover,.combo-options button:focus{background:#dfe5ef}.combo-options button[aria-selected=true]{background:#dfe5f0;font-weight:bold}.report-range{text-align:center}.period-tabs{gap:5px;flex-wrap:wrap}.period-tabs button{flex:1;min-width:48px;font-size:16px;min-height:48px;padding:7px 9px;font-weight:700}.report-person{display:block;width:100%;text-align:right;color:var(--ink)}.report-person-values{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:12px;font-size:16px}.report-person-values b{font-size:19px}.segmented{display:flex;background:#e3e7ed;padding:5px;border-radius:13px;gap:5px;margin-bottom:14px}.segmented button{flex:1;background:transparent;border-radius:10px;min-height:50px;font-weight:800;color:#465163}.segmented button.active{background:#173568;color:white}.status-pill{font-size:15px;border-radius:9px;padding:3px 10px;background:#e4e6ea}.status-pill.present{color:#112f63;background:#dfe5f0}.status-pill.absent{color:#982d3f;background:#f8dee2}.status-pill.leave{color:#271779;background:#dbd4fb}.report-record h3{margin:12px 0 4px}.report-record{padding:19px}.report-date-bar{margin-top:10px}#toast{display:none;align-items:center;justify-content:space-between;bottom:99px;font-size:16px;max-width:600px}#toast button{color:#c1d4f6;background:transparent;font-weight:800;min-height:46px;min-width:78px;font-size:17px}.exports{margin-bottom:20px}@media(min-width:700px){.home-shortcuts .shortcut{min-height:165px;padding:25px}.home-shortcuts strong{font-size:25px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.home-tools button{padding:20px;font-size:18px}.calendar-sheet{margin:0}.quick-person strong{font-size:22px}.quick-person small{font-size:16px}.quick-row{min-height:95px}.report-people{display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-people .card{margin:0}.report-records{display:grid;grid-template-columns:1fr 1fr;gap:10px}.report-records .card{margin:0}.home-intro h1{font-size:31px}}@media(max-width:380px){main{padding-left:12px;padding-right:12px}.shortcut strong{font-size:18px}.shortcut{padding:18px 12px}.home-tools button{font-size:14px}.date-main{font-size:17px}.grid{gap:8px}.calendar-grid{gap:3px}.calendar-grid button{min-height:38px}}@media print{.date-bar,.date-input,.segmented,.advanced,.simple-hint,.link,.report-range,select,label{display:none!important}.report-records,.report-people{display:block}.stats{grid-template-columns:repeat(4,1fr)}.report-records .card{margin:10px 0}}
.monthly-total{padding:20px 22px;border-radius:18px;background:#e0e5ee;margin:15px 0;display:flex;flex-direction:column;gap:5px}.monthly-total>strong{font-size:30px;font-weight:800;color:#162b4e}.monthly-total small{font-size:15px}.monthly-total>span{font-size:15px;color:#454f5f}.compact-shortcuts .shortcut{min-height:110px;flex-direction:row;align-items:center;padding:18px 14px;gap:11px}.compact-shortcuts .shortcut strong{font-size:19px}.person-overview-grid{display:grid;grid-template-columns:1fr;gap:13px;grid-gap:13px}.person-overview{margin:0}.person-title{display:flex;align-items:center;gap:12px;color:var(--ink);background:none;text-align:right;padding:0;min-height:50px}.person-title strong{font-size:21px;font-weight:800}.person-title small{display:block;color:#535c6c;font-size:13px}.person-kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px;grid-gap:12px;margin:17px 0;padding:16px 0;border-top:1px solid #dfe3e9;border-bottom:1px solid #dfe3e9}.person-kpis strong{display:block;font-size:23px;font-weight:800;overflow-wrap:anywhere}.person-kpis span{font-size:14px;color:#4b5566}.person-last p{display:flex;justify-content:space-between;gap:10px;margin:4px 0;font-size:15px}.person-last span{color:#525b6b}.person-last b{font-weight:700;overflow-wrap:anywhere}.person-last .last-date{justify-content:flex-end;color:#576173;font-size:14px}.person-actions{display:flex;align-items:center;gap:7px;margin-top:16px}.person-actions .btn{flex:1;padding:10px 8px;font-size:16px;white-space:nowrap}.person-actions .icon{background:#e8ecf2;border-radius:11px;color:#1a3665}.person-overview .status-pill{font-size:12px;white-space:nowrap}.month-ledger{border:1px solid #cad0da;border-radius:18px;background:white;padding:15px 10px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;grid-gap:4px}.month-grid>.weekday{text-align:center;color:#535d6d;font-size:10px;padding:7px 0;white-space:nowrap;letter-spacing:-.3px}.month-grid>button{min-height:86px;display:flex;flex-direction:column;align-items:center;padding:7px 2px;border-radius:10px;color:var(--ink);background:#edf0f5;border:1px solid transparent}.month-grid b{font-size:18px;font-weight:800}.month-grid small{font-size:10px;white-space:nowrap}.month-grid .pay-dot{color:#334970}.month-grid .selected{background:#193667;color:white}.month-grid .selected .pay-dot{color:#bdd2f6}.month-grid .today{border-color:#566e97}.day-ledger{margin-top:16px;padding:15px 6px 2px;border-top:1px solid #d1d7e2}.day-people{font-size:16px}.day-total{display:flex;justify-content:space-between;font-size:16px;gap:8px}.day-total strong{color:#17305b;overflow-wrap:anywhere}.day-payment{display:flex;justify-content:space-between;gap:10px;font-size:14px;border-top:1px solid #e9ecf0;padding:9px 0}.day-payment b{white-space:nowrap}.payment-overview .money{font-size:20px}.payment-overview small{font-size:12px;font-weight:400}.payment-meta{font-size:14px;margin-top:10px;flex-wrap:wrap}.payment-meta .tag{font-size:12px}.dashboard-stats{grid-template-columns:1fr 1fr!important}.expense-totals{background:#e9ecf2;border-radius:15px;padding:8px 15px;margin:14px 0}.expense-totals>div{display:flex;justify-content:space-between;gap:10px;font-size:15px;padding:10px 0;border-bottom:1px solid #d4dae3}.expense-totals>div:last-child{border:0}.expense-totals b{white-space:nowrap}.filter-more{margin:12px 0}.time-detail{font-size:14px;color:#5a6372;margin-top:12px}.time-detail summary{min-height:42px;cursor:pointer}.overlay{top:0;right:0;bottom:0;left:0}.sheet{max-height:90vh;max-height:92dvh}nav{padding:8px 5px}.grid,.stats,.home-shortcuts,.home-tools,.report-people{grid-gap:12px}.calendar-grid{grid-gap:5px}.actions>.btn{margin:3px}.person-actions>.btn{margin:2px}.home-intro>.link{white-space:nowrap;font-size:14px}.home-intro h1{font-size:25px}.month-bar{margin-bottom:8px}.month-grid button:focus-visible{outline:3px solid #4b38aa}@media(min-width:700px){.person-overview-grid{grid-template-columns:1fr 1fr}.month-grid>.weekday{font-size:14px}.month-grid small{font-size:13px}.month-grid b{font-size:21px}.month-grid>button{min-height:95px}.person-kpis strong{font-size:25px}.compact-shortcuts .shortcut strong{font-size:23px}.day-ledger{padding:20px 12px 5px}}@media(max-width:380px){.person-kpis strong{font-size:21px}.person-actions .btn{font-size:14px}.compact-shortcuts .shortcut strong{font-size:16px}.month-grid>.weekday{font-size:9px}.month-grid small{font-size:9px}.monthly-total>strong{font-size:25px}.home-intro{flex-wrap:wrap}.day-total{font-size:14px}.payment-overview .row{flex-wrap:wrap}}@media print{.filter-more,.person-actions,.time-detail>summary{display:none!important}.time-detail>span{display:inline}.monthly-total,.expense-totals{break-inside:avoid}}
.compact-shortcuts .shortcut{min-height:84px}.monthly-total{padding:14px 18px}.monthly-total>strong{line-height:1.5;font-size:28px}.payment-overview>.row{flex-wrap:wrap}.day-payment span{min-width:0;overflow-wrap:anywhere}.expense-totals>div{flex-wrap:wrap}.person-actions .btn{margin:2px}.home-intro h1{font-size:24px}
.report-context{font-size:15px;color:#36445d;text-align:center;margin:4px 0}@media print{.report-range,.report-context{display:block!important}.report-context{font-weight:bold}}
