:root{--bg:#07090a;--bg-panel:#121712;--bg-panel-raised:#171d17;--border:#2c3a26;--border-soft:#1a231a;--green:#3fe066;--green-dim:#1f9e40;--green-deep:#0f3d1e;--green-glow:#3fe06659;--text:#eaf5ea;--text-dim:#a2b6a3;--text-faint:#647466;--danger:#ff5c45;--font:"Oswald", "Segoe UI", system-ui, -apple-system, sans-serif;--font-display:"Rubik Wet Paint", "Oswald", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);background:radial-gradient(circle at 12% -5%, #3fe0661a, transparent 40%), radial-gradient(circle at 90% 105%, #3fe0660f, transparent 45%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;letter-spacing:.1px;margin:0;font-weight:400}a{color:inherit}button{font-family:inherit}::selection{background:var(--green-dim);color:#05130a}.scanlines{pointer-events:none;z-index:0;opacity:.5;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/></svg>");position:fixed;inset:0}.particle-canvas{z-index:0;width:100%;height:100%;position:absolute;inset:0}.spray-tag{filter:blur(50px);pointer-events:none;z-index:0;border-radius:50%;position:absolute}.spray-tag-1{background:radial-gradient(circle,#3fe06629,#0000 70%);width:42vw;height:42vw;top:-10%;left:-8%}.spray-tag-2{background:radial-gradient(circle,#3fe0661a,#0000 70%);width:46vw;height:46vw;bottom:-15%;right:-10%}.lock-screen{background:repeating-linear-gradient(135deg, #ffffff04 0 2px, transparent 2px 5px), var(--bg);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.lock-card{border:2px solid var(--green-dim);text-align:center;z-index:2;background:#0d130e;border-radius:3px;width:100%;max-width:400px;padding:44px 34px 36px;position:relative;transform:rotate(-.6deg);box-shadow:8px 8px #0000008c,0 0 70px -10px #3fe06626}.lock-tape{opacity:.8;background:repeating-linear-gradient(45deg,#d8cfa8,#d8cfa8 4px,#cdc298 4px 8px);width:74px;height:26px;position:absolute;top:-14px;box-shadow:0 2px 4px #0006}.lock-tape-left{left:18px;transform:rotate(-8deg)}.lock-tape-right{right:18px;transform:rotate(6deg)}.lock-logo{filter:drop-shadow(0 6px 18px #3fe06659);width:100%;max-width:300px;height:auto;margin:6px auto 30px;display:block;transform:rotate(-1deg)}.lock-form{flex-direction:column;gap:14px;display:flex}.lock-input{border:2px solid var(--border);color:var(--text);font-family:var(--font-mono);text-align:center;letter-spacing:3px;background:#060a06;border-radius:2px;outline:none;padding:14px 16px;font-size:15px;transition:border-color .15s}.lock-input:focus{border-color:var(--green)}.lock-input::placeholder{font-family:var(--font);letter-spacing:1px}.lock-button{background:var(--green);color:#04150a;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border:2px solid #04150a;border-radius:2px;padding:14px 16px;font-size:14px;font-weight:700;transition:transform 80ms,box-shadow 80ms,opacity .15s;box-shadow:4px 4px #00000080}.lock-button:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:6px 6px #00000080}.lock-button:active:not(:disabled){transform:translate(1px,1px);box-shadow:2px 2px #00000080}.lock-button:disabled{opacity:.45;cursor:not-allowed}.lock-error{color:var(--danger);margin:0;font-size:13px;font-weight:600}.lock-footer{color:var(--text-faint);letter-spacing:3px;text-transform:uppercase;z-index:2;margin-top:26px;font-size:11px;position:relative}.loading-screen{min-height:100vh;color:var(--text-dim);font-family:var(--font);letter-spacing:1px;text-transform:uppercase;justify-content:center;align-items:center;font-size:13px;display:flex}.app-shell{z-index:1;min-height:100vh;position:relative}.nav{border-bottom:2px solid var(--border);z-index:10;background:#0a0f0a;align-items:center;gap:24px;padding:14px 28px;display:flex;position:sticky;top:0}.nav-brand{align-items:center;gap:12px;margin-right:auto;display:flex}.nav-logo{width:auto;height:34px;display:block}.nav-links{gap:4px;display:flex}.nav-link{color:var(--text-dim);letter-spacing:1.5px;text-transform:uppercase;border:1px solid #0000;border-radius:2px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s}.nav-link:hover{color:var(--text)}.nav-link.active{color:var(--green);border:1px solid var(--green-dim);background:#3fe06614}.nav-logout{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;letter-spacing:1px;text-transform:uppercase;background:0 0;border-radius:2px;padding:8px 16px;font-size:12px;font-weight:600;transition:border-color .15s,color .15s}.nav-logout:hover{border-color:var(--danger);color:var(--danger)}.app-main{max-width:1000px;margin:0 auto;padding:32px 24px 80px;position:relative}.page-header h1{font-family:var(--font);letter-spacing:.5px;text-transform:uppercase;margin:0 0 4px;font-size:27px;font-weight:700}.page-subtitle{color:var(--text-dim);margin:0 0 28px;font-size:14px}.muted{color:var(--text-dim)}.error-text{color:var(--danger);font-size:13px;font-weight:600}.employee-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px;display:grid}.employee-card{background:var(--bg-panel);border:2px solid var(--border);cursor:pointer;color:var(--text);border-radius:2px;flex-direction:column;align-items:center;gap:14px;padding:30px 14px;transition:border-color .12s,transform .12s,box-shadow .12s;display:flex;box-shadow:4px 4px #0006}.employee-card:nth-child(3n){transform:rotate(-.6deg)}.employee-card:nth-child(3n+1){transform:rotate(.5deg)}.employee-card:hover{border-color:var(--green);transform:translate(-3px,-3px)rotate(0);box-shadow:7px 7px #00000073}.employee-initial{background:var(--green-deep);width:110px;height:110px;color:var(--green);font-weight:700;font-family:var(--font);border:3px solid var(--green-dim);border-radius:50% 45% 55% 50%/50% 55% 45% 50%;justify-content:center;align-items:center;font-size:34px;display:flex}.employee-photo{object-fit:cover;object-position:center;border:3px solid var(--green-dim);background:var(--green-deep);border-radius:50% 45% 55% 50%/50% 55% 45% 50%;width:140px;height:140px}.employee-name{letter-spacing:.5px;text-align:center;font-size:19px;font-weight:600}.btn-primary{background:var(--green);color:#04150a;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:2px solid #04150a;border-radius:2px;padding:10px 18px;font-size:13px;font-weight:700;transition:transform 80ms,box-shadow 80ms;box-shadow:3px 3px #00000073}.btn-primary:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:4px 4px #00000073}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{border:2px solid var(--border);color:var(--text);letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;padding:10px 18px;font-size:13px;font-weight:600;transition:border-color .15s}.btn-secondary:hover{border-color:var(--text-dim)}.btn-remove{color:var(--danger);cursor:pointer;letter-spacing:.5px;text-transform:uppercase;background:0 0;border:none;font-size:12px;font-weight:600}.modal-backdrop{z-index:50;background:#020402bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{border:2px solid var(--green-dim);background:#0d130e;border-radius:3px;width:100%;max-width:380px;padding:28px;box-shadow:6px 6px #0009}.modal-title{text-transform:uppercase;letter-spacing:.5px;margin:0 0 4px;font-size:21px;font-weight:700}.modal-subtitle{color:var(--text-dim);margin:0 0 20px;font-size:14px}.type-choice{flex-direction:column;gap:10px;margin-bottom:8px;display:flex}.type-option{border:2px solid var(--border);cursor:pointer;color:var(--text);text-align:left;background:#0a0f0a;border-radius:2px;justify-content:space-between;align-items:center;padding:16px 18px;transition:border-color .12s,transform 80ms,box-shadow 80ms;display:flex}.type-option:hover{border-color:var(--green);transform:translate(-2px,-2px);box-shadow:3px 3px #0006}.type-option-label{letter-spacing:.5px;text-transform:uppercase;font-size:15px;font-weight:700}.type-option-hint{font-family:var(--font-mono);color:var(--text-dim);font-size:12px}.modal-form{flex-direction:column;gap:14px;display:flex}.modal-input{border:2px solid var(--border);color:var(--text);font-family:var(--font-mono);background:#060a06;border-radius:2px;outline:none;padding:14px 16px;font-size:18px}.modal-input:focus{border-color:var(--green-dim)}.modal-preview{color:var(--text-dim);margin:0;font-size:14px}.modal-preview strong{color:var(--green);font-family:var(--font-mono)}.modal-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.modal-result-name{text-transform:uppercase;margin:0 0 12px;font-size:18px;font-weight:700}.modal-result-line{color:var(--text-dim);margin:0 0 8px;font-size:14px}.modal-result-line strong{color:var(--green);font-family:var(--font-mono)}.week-list{flex-direction:column;gap:20px;display:flex}.week-card{background:var(--bg-panel);border:2px solid var(--border-soft);border-radius:2px;padding:20px}.week-card.current{border-color:var(--green-dim);box-shadow:4px 4px #00000059}.week-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.week-range{letter-spacing:.5px;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.week-tag{text-transform:uppercase;letter-spacing:1px;background:var(--green-deep);color:var(--green);border:1px solid var(--green-dim);border-radius:20px;padding:3px 8px;font-size:10px;font-weight:700}.week-payday{color:var(--text-faint);letter-spacing:.5px;margin-top:4px;font-size:12px}.week-totals{font-family:var(--font-mono);gap:24px;display:flex}.week-totals>div{flex-direction:column;align-items:flex-end;display:flex}.week-total-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);font-size:11px;font-family:var(--font)}.week-total-value{font-size:16px;font-weight:700}.week-total-value.payroll{color:var(--green)}.employee-table,.transaction-table{border-collapse:collapse;width:100%;font-size:13px}.employee-table th,.transaction-table th{text-align:left;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-soft);padding:6px 8px;font-size:11px;font-weight:600}.employee-table td,.transaction-table td{border-bottom:1px solid var(--border-soft);font-family:var(--font-mono);padding:8px;font-size:12.5px}.employee-table td:first-child,.transaction-table td:nth-child(2){font-family:var(--font);font-size:13px}.employee-table tr:last-child td,.transaction-table tr:last-child td{border-bottom:none}.week-toggle{color:var(--text-dim);cursor:pointer;letter-spacing:.5px;text-underline-offset:3px;background:0 0;border:none;margin-top:14px;padding:0;font-size:12px;font-weight:600;text-decoration:underline}.transaction-table{margin-top:12px}
