:root{--navy:#123149;--navy-deep:#0a2233;--mint:#32ae94;--ink:#192d3a;--muted:#667884;--line:#dce4e8;--surface:#fff;--bg:#f2f5f7}*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 50% 0,#fff 0,transparent 38%),var(--bg);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}main{place-items:center;min-height:100vh;padding:24px 18px;display:grid}.shell{width:min(100%,430px)}.brand{color:var(--navy);justify-content:center;align-items:center;gap:11px;margin:0 0 42px;display:flex}.brand-logo{width:min(100%,260px);height:auto;display:block}.mark{background:var(--navy);color:#fff;border-radius:12px 3px;place-items:center;width:45px;height:45px;font-size:26px;font-weight:800;display:grid;box-shadow:8px 8px #d8ebe7}.brand p{letter-spacing:.18em;margin:0;font-size:20px;font-weight:800;line-height:1}.brand span{color:var(--muted);letter-spacing:.42em;margin-top:5px;font-size:9px;display:block}.intro{text-align:center;margin-bottom:25px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:750;color:var(--mint)!important;font-size:11px!important}h1{color:var(--navy-deep);letter-spacing:-.035em;margin:7px 0 9px;font-size:clamp(28px,8vw,36px)}.intro p{color:var(--muted);margin:0;font-size:15px;line-height:1.5}.login-card{background:#fffffff0;border:1px solid #12314917;border-radius:20px;padding:27px;box-shadow:0 22px 60px #14304217}label{color:var(--navy);margin:0 0 8px;font-size:13px;font-weight:700;display:block}input,select{border:1px solid var(--line);width:100%;height:52px;color:var(--ink);background:#fbfcfd;border-radius:10px;outline:none;padding:0 15px;transition:border-color .2s,box-shadow .2s}input{letter-spacing:.3em;margin-bottom:22px;font-size:21px}select{appearance:none;padding-right:42px}.select-wrap{margin-bottom:20px;position:relative}.select-wrap:after{content:"⌄";pointer-events:none;color:var(--muted);position:absolute;top:13px;right:16px}input:focus,select:focus{border-color:var(--mint);box-shadow:0 0 0 3px #32ae9424}button{background:var(--navy);color:#fff;letter-spacing:.12em;cursor:pointer;border:0;border-radius:10px;width:100%;min-height:52px;font-size:13px;font-weight:800;transition:transform .15s,background .15s;box-shadow:0 9px 20px #1231492e}button:hover{background:#19445f}button:active{transform:translateY(1px)}button:disabled{opacity:.58;cursor:not-allowed}.message{text-align:center;min-height:20px;color:var(--muted);margin:16px 0 -4px;font-size:12px;line-height:1.45}.error-message:not(:empty){color:#a33b3b}.loading-card{color:var(--muted);justify-items:center;font-size:13px;display:grid}.spinner{border:3px solid var(--line);border-top-color:var(--mint);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.session-card{text-align:center}.welcome{color:var(--navy-deep);letter-spacing:-.025em;margin:0;font-size:27px}.date-label{color:var(--muted);margin:8px 0 27px;font-size:14px}.schedule{border:1px solid var(--line);background:#f7fafb;border-radius:13px;gap:9px;padding:20px;display:grid}.schedule span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:650}.schedule strong{color:var(--navy);letter-spacing:-.02em;font-size:24px}.schedule i{color:var(--mint);padding:0 5px;font-style:normal}.day-status{color:var(--muted);justify-content:center;align-items:center;gap:9px;margin:22px 0;font-size:13px;display:flex}.day-status p{margin:0}.status-dot{background:#efb75d;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #fff4df}.secondary-button{color:var(--navy);border:1px solid var(--line);box-shadow:none;background:#fff}.secondary-button:hover{background:#f7fafb}.mode-fieldset{border:0;margin:0 0 21px;padding:0}.mode-fieldset legend{width:100%;color:var(--navy);text-align:left;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;font-size:12px;font-weight:750}.mode-selector{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mode-button{min-height:58px;color:var(--navy);border:1px solid var(--line);box-shadow:none;background:#f7fafb}.mode-button:hover{background:#eef5f4}.mode-button.selected{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 8px 18px #12314929}.current-time{gap:2px;margin:0 0 18px;display:grid}.current-time span,.record-status>span{color:var(--muted);text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:700}.current-time strong{color:var(--navy-deep);letter-spacing:-.04em;font-size:34px}.current-time small{color:#98a4aa;font-size:10px}.schedule.compact{margin-bottom:20px;padding:15px}.schedule.compact strong{font-size:20px}.record-status{background:#edf8f5;border:1px solid #cdeae3;border-radius:13px;gap:9px;margin-bottom:18px;padding:20px;display:grid}.record-status>strong{color:var(--navy-deep);letter-spacing:-.04em;font-size:36px}.record-status p{color:var(--muted);margin:0;font-size:13px}.record-status.completed>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.record-status.completed>div p{background:#fff;border-radius:8px;gap:4px;padding:10px;display:grid}.record-status.completed>div strong{color:var(--navy);font-size:22px}.text-button{min-height:36px;color:var(--muted);box-shadow:none;background:0 0;margin-top:2px;font-size:11px}.text-button:hover{color:var(--navy);background:0 0}@keyframes spin{to{transform:rotate(360deg)}}footer{text-align:center;color:#87949c;margin-top:23px;font-size:11px}@media (min-width:700px){main{padding:44px}.brand{margin-bottom:48px}.login-card{padding:32px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.admin-main{padding:28px 20px 60px;display:block}.admin-login{width:min(100%,430px);margin:7vh auto 0}.admin-brand{margin-bottom:30px}.admin-input{letter-spacing:0;margin-bottom:20px;font-size:16px}.admin-shell{width:min(100%,1080px);margin:auto}.admin-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:22px;display:flex}.admin-header .brand{justify-content:flex-start;margin:0}.admin-header .brand-logo{width:180px}.admin-header>div{text-align:right}.admin-header>div p{color:var(--muted);margin:0;font-size:11px}.admin-header .text-button{width:auto;margin:2px 0 0 auto;padding:0}.admin-title{justify-content:space-between;align-items:end;gap:20px;margin:34px 0 20px;display:flex}.admin-title h1{margin:5px 0 0;font-size:clamp(26px,4vw,38px)}.new-button{width:auto;min-width:190px;padding:0 21px}.admin-panel{border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:20px;overflow:hidden;box-shadow:0 12px 34px #1430420f}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:19px 22px;display:flex}.panel-heading h2{color:var(--navy);margin:0;font-size:17px}.panel-heading span{color:var(--muted);font-size:11px}.employee-row{border-bottom:1px solid #edf1f3;grid-template-columns:minmax(190px,1fr) 90px auto;align-items:center;gap:18px;min-height:76px;padding:13px 22px;display:grid}.employee-row:last-child{border-bottom:0}.employee-name{gap:5px;display:grid}.employee-name strong{color:var(--ink);font-size:14px}.employee-name span{color:var(--muted);font-size:12px}.badge{color:#75818a;background:#f1f3f4;border-radius:20px;justify-self:start;padding:5px 9px;font-size:10px;font-weight:750}.badge.active{color:#19735f;background:#e7f6f1}.row-actions{justify-content:flex-end;gap:6px;display:flex}.row-actions button{border:1px solid var(--line);width:auto;min-height:34px;color:var(--navy);box-shadow:none;letter-spacing:.04em;background:#fff;padding:0 10px;font-size:9px}.row-actions button:hover{background:#f4f8f9}.audit-list article{border-bottom:1px solid #edf1f3;grid-template-columns:10px 1fr auto;align-items:center;gap:11px;padding:14px 22px;display:grid}.audit-list article:last-child{border-bottom:0}.audit-dot{background:var(--mint);border-radius:50%;width:7px;height:7px}.audit-list strong{color:var(--ink);font-size:12px}.audit-list p{color:var(--muted);margin:3px 0 0;font-size:10px}.audit-list time{color:var(--muted);font-size:10px}.empty{text-align:center;color:var(--muted);padding:25px;font-size:12px}.dialog-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0519268f;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.employee-dialog{background:#fff;border-radius:17px;width:min(100%,520px);max-height:calc(100vh - 40px);padding:25px;overflow:auto;box-shadow:0 25px 80px #00000040}.dialog-title{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.dialog-title h2{color:var(--navy);margin:0;font-size:21px}.dialog-title button{width:34px;min-height:34px;color:var(--muted);box-shadow:none;background:0 0;padding:0;font-size:25px}.form-grid{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.employee-dialog label{margin-bottom:15px}.employee-dialog input{letter-spacing:0;height:46px;margin:7px 0 0;font-size:15px}.employee-dialog input[type=password]{letter-spacing:.2em}.check-label{align-items:center;gap:9px;display:flex!important}.check-label input{width:18px;height:18px;accent-color:var(--navy);margin:0}.dialog-help{color:var(--muted);margin:-5px 0 18px;font-size:12px;line-height:1.5}.dialog-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}@media (max-width:700px){.admin-main{padding:20px 14px 45px}.admin-title{flex-direction:column;align-items:stretch}.new-button{width:100%}.employee-row{grid-template-columns:1fr auto;gap:9px;padding:16px}.employee-row .badge{justify-self:end}.row-actions{grid-column:1/-1;justify-content:stretch}.row-actions button{flex:1}.panel-heading{padding:16px}.audit-list article{padding:13px 16px}.audit-list time{grid-column:2/4}.form-grid{grid-template-columns:1fr}.admin-header .brand span{display:none}.admin-header .brand-logo{width:145px}}.employee-history{border-top:1px solid var(--line);text-align:left;margin:24px -27px 12px;padding:24px 27px 0}.history-heading h2{color:var(--navy);margin:0;font-size:18px}.history-heading p{color:var(--muted);margin:5px 0 0;font-size:11px}.history-presets{grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 12px;display:grid}.history-presets button{border:1px solid var(--line);min-height:38px;color:var(--navy);box-shadow:none;background:#fff;padding:0 8px;font-size:9px}.history-filters{gap:10px;padding:18px 22px;display:grid}.history-filters.employee{grid-template-columns:1fr 1fr;padding:0}.history-filters label{color:var(--muted);margin:0;font-size:10px}.history-filters input,.history-filters select{letter-spacing:0;height:42px;margin:5px 0 0;padding:0 9px;font-size:12px}.history-filters.employee button{grid-column:1/-1;min-height:42px}.history-list{gap:8px;margin-top:8px;display:grid}.history-list article{border:1px solid var(--line);background:#fbfcfd;border-radius:10px;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:7px;padding:12px;display:grid}.history-list article>div{gap:4px;display:grid}.history-list article>div strong{font-size:12px}.history-list article>div span{color:var(--mint);font-size:10px;font-weight:700}.history-list article p{color:var(--muted);gap:4px;margin:0;font-size:9px;display:grid}.history-list article p strong{color:var(--ink);font-size:11px}.history-filters.admin{grid-template-columns:1.4fr 1fr 1fr 1fr auto;align-items:end}.history-filters.admin button{width:auto;min-width:100px;min-height:42px}.export-actions{justify-content:flex-end;gap:8px;padding:0 22px 16px;display:flex}.export-actions button{border:1px solid var(--line);width:auto;min-height:38px;color:var(--navy);box-shadow:none;background:#fff;padding:0 14px;font-size:9px}.admin-history-table{border-top:1px solid var(--line);overflow-x:auto}.history-table-row{border-bottom:1px solid #edf1f3;grid-template-columns:1.5fr .75fr 1fr .65fr .7fr .75fr;align-items:center;gap:10px;min-width:760px;padding:12px 22px;display:grid}.history-table-row:last-child{border-bottom:0}.history-table-row.heading{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:#f5f8f9;font-size:9px;font-weight:750}.history-table-row strong,.history-table-row span{font-size:11px}.history-table-row span{color:var(--muted)}@media (max-width:700px){.employee-history{margin-left:-27px;margin-right:-27px}.history-list article{grid-template-columns:1fr 1fr}.history-filters.admin{grid-template-columns:1fr 1fr;padding:16px}.history-filters.admin label:first-child,.history-filters.admin button{grid-column:1/-1}.history-filters.admin button{width:100%}.export-actions{padding:0 16px 16px}.export-actions button{flex:1;padding:0 7px}}
