:root{--ink:#18212f;--muted:#6b7280;--line:#e5e7eb;--bg:#f5f7fa;--white:#fff;--green:#16835a;--green-bg:#eefaf5;--red:#d43c3c;--blue:#2457d6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}header{height:62px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 32px;gap:42px;position:sticky;top:0;z-index:20}.brand{font-size:18px;font-weight:750;color:var(--ink);text-decoration:none}nav{display:flex;height:100%;gap:24px}nav a{display:flex;align-items:center;color:var(--muted);text-decoration:none;font-weight:600;border-bottom:2px solid transparent}nav a.active,nav a:hover{color:var(--ink);border-color:var(--blue)}.user{margin-left:auto;display:flex;gap:16px;color:var(--muted)}.user a,a{color:var(--blue);text-decoration:none}main{max-width:1320px;margin:0 auto;padding:28px 30px 60px}h1{font-size:26px;margin:2px 0 4px}h2{font-size:16px;margin:0 0 16px}.page-head,.section-head{display:flex;justify-content:space-between;align-items:center}.page-head{margin-bottom:20px}.page-head p,.employee-title span{color:var(--muted);font-size:14px;font-weight:400;margin:0}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:16px;box-shadow:0 1px 2px #0f172a08}.table-wrap{padding:0;overflow:visible}table{width:100%;border-collapse:collapse}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;text-align:left;background:#fafbfc}th,td{padding:12px 16px;border-bottom:1px solid var(--line)}tbody tr:last-child td{border-bottom:0}.compact th,.compact td{padding:9px 14px}.row-open{background:var(--green-bg)}.row-closed{color:#4b5563}.inactive{opacity:.6}.status-dot,.fine-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px}.status-dot{background:#9ca3af}.row-open .status-dot{background:var(--green)}.fine-dot{background:var(--red)}.muted{color:var(--muted)}.overtime{color:var(--green);font-size:12px}.actions{width:90px;text-align:right}.menu{position:relative;display:inline-block}.menu summary,.more{cursor:pointer;list-style:none;font-weight:bold;letter-spacing:2px;color:var(--ink)}.menu>div{position:absolute;right:0;top:25px;min-width:225px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:7px;box-shadow:0 12px 30px #0f172a24;z-index:10;text-align:left}.menu a,.menu button{display:block;width:100%;padding:8px;border:0;background:none;text-align:left;color:var(--ink);font:inherit}.menu a:hover,.menu button:hover{background:#f3f4f6;border-radius:5px}.menu form{margin:0}.click-row{cursor:pointer}.click-row:hover{filter:brightness(.985)}.filters{display:flex;align-items:end;gap:12px;padding:14px 16px}.filters label,.form label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:12px}input,select,textarea{height:38px;border:1px solid #cfd5de;border-radius:6px;padding:7px 10px;background:#fff;color:var(--ink);font:inherit}textarea{height:auto}.button,button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cfd5de;border-radius:6px;background:#fff;padding:8px 13px;color:var(--ink);cursor:pointer;font:inherit}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.small{padding:6px 10px;font-size:13px}.message,.warning{padding:11px 14px;border-radius:7px;margin-bottom:14px}.message.success{background:#eaf8f1;color:#116444}.message.error,.warning{background:#fff2f2;color:#9f2525}.detail-grid,.pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.shift-photo{width:100%;max-height:310px;object-fit:contain;background:#f3f4f6;border-radius:7px;margin-bottom:12px}.photo-empty{height:130px;background:#f3f4f6;color:var(--muted);display:grid;place-items:center;border-radius:7px;margin-bottom:12px}dl{display:grid;grid-template-columns:180px 1fr;gap:10px;margin:0}dt{color:var(--muted)}dd{margin:0}.list-row,.money-row,.time-summary>div,.calculation>div,.fine-total{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-top:1px solid var(--line)}.list-row:first-of-type,.money-row:first-of-type{border-top:0}.money-row>div:first-child{display:flex;flex-direction:column}.money-row span{color:var(--muted);font-size:13px}.inline{display:inline}.link{border:0;padding:0 0 0 10px;color:var(--blue)}.danger{color:var(--red)}.tag{background:#eef1f5;border-radius:10px;padding:2px 7px;color:var(--muted);font-size:11px}.back{display:inline-block;color:var(--muted);margin-bottom:8px}.narrow{max-width:760px;margin:auto}.form>div{margin-bottom:14px}.form .helptext{display:block;color:var(--muted);font-size:12px}.errorlist{color:var(--red)}.form-actions{display:flex;gap:10px}.employee-title{margin:22px 0 14px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.metrics article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;min-height:125px;display:flex;flex-direction:column;justify-content:space-between}.metrics span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.metrics strong{font-size:28px}.metrics .to-pay{border-color:#b9ddce;background:#f4fbf8}.calculation{max-width:750px;margin:16px 0 0 auto}.calculation .subtotal{border-top:2px solid var(--ink)}.calculation .total{font-size:20px;border-top:2px solid var(--ink)}.empty{text-align:center;padding:34px;color:var(--muted)}@media(max-width:800px){header{padding:0 14px;gap:15px}.brand{display:none}nav{gap:12px}.user{display:none}main{padding:18px 12px}.filters{align-items:stretch;flex-direction:column}.detail-grid,.pay-grid,.metrics{grid-template-columns:1fr}.table-wrap{overflow:auto}.metrics article{min-height:100px}th,td{white-space:nowrap}}
