:root{--bg-color: #141414;--surface-color: #1e1e1e;--text-main: #FFFAF3;--text-dim: #a5a29c;--accent: #D96B0C;--accent-hover: #c45f0a;--accent-disabled: #8a480e;--accent-green: #587A3E;--accent-gold: #C4A95B;--success: #587A3E;--error: #d9381e;--input-bg: #222222}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,system-ui,sans-serif}body{background-color:var(--bg-color);color:var(--text-main);display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem}#app{width:100%;max-width:1200px;padding:2rem;border-radius:2rem}header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:2.5rem}header h1{font-size:3rem;color:var(--text-main);font-family:serif}.form-container{display:flex;flex-direction:column;gap:1.75rem;width:100%;max-width:640px;margin:0}.input-group{display:flex;flex-direction:column;gap:.75rem}.input-group label{font-size:1rem;font-weight:400;color:var(--text-dim)}.input-group input[type=text],.input-group input[type=number],.input-group input[type=tel]{width:100%;background:var(--input-bg);border:3px solid transparent;color:var(--text-main);font-size:1.05rem;padding:1.1rem 1.4rem;border-radius:1.5rem;outline:none;transition:all .2s ease;font-weight:400}.input-group input:focus{border-color:var(--accent)}.toggle-group{margin-top:2px;margin-bottom:2px}.toggle-container{display:inline-flex;align-items:center;gap:12px;width:fit-content;cursor:pointer;background:var(--input-bg);padding:.6rem 1.1rem;border-radius:1.2rem;font-size:.95rem;font-weight:500;-webkit-user-select:none;user-select:none;transition:all .2s ease;border:2px solid transparent}.toggle-container:has(input:checked){background:var(--accent-green);color:var(--text-main)}.toggle-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:relative;height:20px;width:36px;background-color:#444;border-radius:2rem;transition:background-color .3s;flex-shrink:0}.checkmark:after{content:"";position:absolute;top:2.5px;left:2.5px;width:15px;height:15px;border-radius:50%;background:#fff;transition:transform .3s cubic-bezier(.4,0,.2,1)}.toggle-container input:checked~.checkmark{background-color:#444}.toggle-container input:checked~.checkmark:after{transform:translate(16px)}.action-buttons{display:flex;align-items:center;gap:1.25rem;width:100%;margin-top:1rem}.giant-btn{background:var(--accent);color:#fff;border:none;border-radius:1.5rem;font-size:1.15rem;font-weight:500;padding:1rem 1.8rem;cursor:pointer;width:fit-content;transition:all .2s ease}.giant-btn:hover{filter:brightness(1.1)}.giant-btn:active{transform:scale(.98)}.giant-btn:disabled{background:var(--accent-disabled);cursor:not-allowed;box-shadow:none}.btn-text-only{background:transparent;color:var(--error);border:none;font-size:1.05rem;font-weight:500;padding:.8rem 1.2rem;cursor:pointer;border-radius:1rem;transition:all .2s ease}.btn-text-only:hover{background:#d9381e1f}.btn-text-only:active{transform:scale(.96)}.toast{position:fixed;bottom:40px;left:50%;transform:translate(-50%) translateY(100px);background:var(--text-main);color:var(--bg-color);font-size:1rem;font-weight:400;padding:20px 40px;border-radius:2rem;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.68,-.55,.27,1.55)}.toast.show{transform:translate(-50%) translateY(0);opacity:1}.records-section{position:relative;margin-top:5rem;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);width:100vw;background-color:transparent;color:inherit;padding:4.5rem 2rem 6rem;overflow:hidden}.records-inner{width:100%;max-width:1200px;margin:0 auto}.admin-table-container{overflow:visible}table{width:100%;border-collapse:collapse;margin-top:10px;font-size:1rem}th,td{padding:1.1rem 1rem;text-align:left}th{color:#666;font-weight:600;position:sticky;top:75px;background-color:transparent;border-bottom:2px solid rgba(0,0,0,.1);z-index:10}td{color:#141414;border-bottom:1px solid rgba(0,0,0,.06)}tr.alt-row{background-color:#00000006}.day-separator td{background-color:transparent;padding:16px 0;border-bottom:1px solid rgba(0,0,0,.08)}.day-separator{cursor:pointer;-webkit-user-select:none;user-select:none}.day-separator:hover .date-badge{filter:brightness(1.15);transform:translateY(-1px)}.date-badge{position:relative;z-index:2;background:#141414;color:#fffaf3;padding:8px 20px;border-radius:2rem;font-weight:500;font-size:.95rem;display:inline-flex;align-items:center;box-shadow:0 2px 8px #0003;transition:all .2s ease}.date-badge-gold{position:relative;z-index:2;background:var(--accent-gold);color:#141414;padding:8px 20px;border-radius:2rem;font-weight:600;font-size:.95rem;display:inline-flex;align-items:center;box-shadow:0 2px 8px #0000001f}.btn-print-day{position:relative;z-index:2;background:var(--accent-green);color:#fff;border:none;border-radius:2rem;padding:8px 18px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:.95rem;font-weight:500;box-shadow:0 4px 12px #587a3e59;transition:all .2s ease}.btn-print-day:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 16px #587a3e73}.btn-print-day:active{transform:translateY(0)}.btn-print,.btn-delete{background:#0000000d;color:#333;border:1px solid rgba(0,0,0,.12);border-radius:8px;padding:8px 10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;transition:all .2s ease}.btn-print:hover{background:#0000001f;color:#000;border-color:#0000004d}.btn-delete:hover{background:#d9381e1f;color:#d9381e;border-color:#d9381e4d}.btn-print:active,.btn-delete:active{transform:scale(.95)}.login-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0a0a0ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;display:flex;justify-content:center;align-items:center;padding:1.5rem}.login-modal-overlay.hidden{display:none!important}.login-modal-card{background:var(--surface-color);border:1px solid rgba(255,255,255,.1);border-radius:2rem;padding:2.5rem;width:100%;max-width:420px;box-shadow:0 20px 40px #00000080;text-align:center}.login-modal-card h2{font-size:1.8rem;margin-bottom:.5rem;color:var(--text-main);font-family:serif}.login-modal-card p{color:var(--text-dim);font-size:.95rem;margin-bottom:1.5rem}.login-form{display:flex;flex-direction:column;gap:1rem}.login-form input{width:100%;background:var(--input-bg);border:2px solid transparent;color:var(--text-main);font-size:1rem;padding:1rem 1.2rem;border-radius:1.2rem;outline:none;transition:all .2s ease}.login-form input:focus{border-color:var(--accent)}.login-error{color:#ff5252;background:#ff52521a;border:1px solid rgba(255,82,82,.2);border-radius:1rem;padding:.75rem 1rem;font-size:.9rem;margin-bottom:1rem;display:none}.login-error.show{display:block}.btn-login{background:var(--accent);color:#fff;border:none;border-radius:1.2rem;font-size:1.1rem;font-weight:600;padding:1rem;cursor:pointer;transition:all .2s ease}.btn-login:hover{filter:brightness(1.1)}.btn-logout{color:var(--text-dim);background:#ffffff14;border:none;text-decoration:none;font-size:.95rem;padding:14px 20px;border-radius:2rem;cursor:pointer;transition:all .2s ease}.btn-logout:hover{color:var(--error);background:#ff3d0026}.scroll-top-wrapper{position:fixed;top:20px;left:0;width:100%;display:flex;justify-content:center;align-items:center;z-index:1000;pointer-events:none;padding:0 20px}.scroll-top-btn-top{width:100%;max-width:1200px;padding:16px 24px;border-radius:2rem;background:var(--accent);color:#fff;border:1px solid rgba(255,255,255,.25);box-shadow:0 10px 30px #0009;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;font-size:1.1rem;font-weight:600;opacity:0;transform:translateY(-100px);pointer-events:none;transition:background-color .2s ease,filter .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.scroll-top-btn-top:hover{filter:brightness(1.15)}.print-only{display:none}@media print{@page{margin:0}body{background:#fff;color:#000;padding:0;margin:0}.no-print{display:none!important}.print-only{display:block!important;width:100%;padding:0 5mm;font-family:monospace;font-size:.75rem;line-height:1.5}.receipt-header{font-family:monospace;text-align:left;font-size:1.4rem;font-weight:400;margin:0 0 5mm;border-bottom:2px dashed #000;padding-bottom:3mm}.receipt-line{font-family:monospace;display:flex;justify-content:space-between;margin-bottom:3mm}.receipt-footer{font-family:monospace;text-align:center;margin:5mm 0 0;padding-top:3mm;border-top:2px dashed #000;font-size:.75rem}}
