*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f4f2;--card: #ffffff;--primary: #1a1a1a;--accent: #c9a84c;--text: #1a1a1a;--text-muted: #666;--border: #e5e5e5;--nav-height: 64px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);min-height:100dvh;-webkit-font-smoothing:antialiased}#root{max-width:480px;margin:0 auto;min-height:100dvh;position:relative}.login-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:2rem;gap:2rem}.login-logo{font-size:2rem;font-weight:700;letter-spacing:-.5px}.login-logo span{color:var(--accent)}.login-card{width:100%;background:var(--card);border-radius:16px;padding:2rem;box-shadow:0 2px 20px #00000014;display:flex;flex-direction:column;gap:1rem}.login-card h2{font-size:1.25rem;font-weight:600}.login-card p{font-size:.875rem;color:var(--text-muted);margin-top:-.5rem}.field{display:flex;flex-direction:column;gap:.375rem}.field label{font-size:.8125rem;font-weight:500;color:var(--text-muted)}.field input,.field select,.field textarea{padding:.75rem 1rem;border:1.5px solid var(--border);border-radius:10px;font-size:1rem;font-family:inherit;outline:none;transition:border-color .15s;background:var(--card)}.field input:focus,.field select:focus{border-color:var(--primary)}.field textarea{resize:vertical;min-height:80px}.btn{padding:.875rem 1.5rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;width:100%;font-family:inherit}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.error-msg{color:#dc2626;font-size:.875rem;background:#fee2e2;padding:.625rem .875rem;border-radius:8px}.app-header{position:sticky;top:0;z-index:10;background:var(--card);border-bottom:1px solid var(--border);padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between}.app-header-title{font-size:1.125rem;font-weight:700}.app-header-sub{font-size:.75rem;color:var(--text-muted)}.app-header-name{font-size:.875rem;font-weight:500;color:var(--accent)}.page-content{padding:1.25rem;padding-bottom:calc(var(--nav-height) + 1.25rem)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;height:var(--nav-height);background:var(--card);border-top:1px solid var(--border);display:flex;align-items:stretch;z-index:100;padding-bottom:env(safe-area-inset-bottom)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:none;cursor:pointer;font-size:.6875rem;font-weight:500;color:var(--text-muted);transition:color .15s;padding:.5rem .25rem;font-family:inherit}.nav-item.active{color:var(--primary)}.nav-icon{font-size:1.375rem;line-height:1}.section-title{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:1.25rem 0 .625rem}.section-title:first-child{margin-top:0}.card{background:var(--card);border-radius:14px;padding:1rem 1.125rem;box-shadow:0 1px 4px #0000000f;margin-bottom:.75rem}.card-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.card-time{font-size:1.125rem;font-weight:700}.card-duration{font-size:.8125rem;color:var(--text-muted);flex:1}.card-name{font-size:1rem;font-weight:600;margin:.375rem 0 .25rem}.card-detail{font-size:.8125rem;color:var(--text-muted)}.card-services{font-size:.875rem;color:var(--text-muted);margin-top:.375rem}.badge{display:inline-block;padding:.25rem .625rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge-waiting{background:#fef3c7;color:#92400e}.badge-approved{background:#d1fae5;color:#065f46}.badge-complete{background:#f1f5f9;color:#475569}.badge-cancelled{background:#fee2e2;color:#991b1b}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:.75rem}.empty-state p{font-size:.9375rem}.loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--text-muted)}.week-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;background:var(--card);border-radius:12px;padding:.75rem 1rem;box-shadow:0 1px 4px #0000000f}.week-label{font-size:.9375rem;font-weight:600}.week-btn{background:none;border:none;cursor:pointer;font-size:1.375rem;color:var(--text-muted);padding:.25rem .5rem;border-radius:6px;line-height:1;font-family:inherit;transition:background .15s}.week-btn:hover{background:var(--bg)}.day-card{background:var(--card);border-radius:14px;overflow:hidden;margin-bottom:.75rem;box-shadow:0 1px 4px #0000000f}.day-card.off{opacity:.45}.day-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.125rem;border-bottom:1px solid var(--border)}.day-name{font-weight:700;font-size:.9375rem}.day-hours{font-size:.8125rem;color:var(--text-muted)}.day-appts{padding:.625rem 1.125rem .875rem}.day-appt-item{display:flex;align-items:center;gap:.75rem;padding:.375rem 0;font-size:.875rem;border-bottom:1px solid var(--border)}.day-appt-item:last-child{border-bottom:none}.day-appt-time{font-weight:600;min-width:44px}.day-appt-name{flex:1}.add-break-form{background:var(--card);border-radius:14px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 1px 4px #0000000f;display:flex;flex-direction:column;gap:.875rem}.add-break-form h3{font-size:1rem;font-weight:600}.break-row{display:flex;gap:.75rem}.break-row .field{flex:1}.type-toggle{display:flex;gap:.5rem}.type-btn{flex:1;padding:.625rem;border:1.5px solid var(--border);border-radius:8px;background:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s;text-align:center;font-family:inherit}.type-btn.active{border-color:var(--primary);background:var(--primary);color:#fff}.leave-item{background:var(--card);border-radius:12px;padding:.875rem 1rem;display:flex;align-items:center;gap:.75rem;box-shadow:0 1px 4px #0000000f;margin-bottom:.5rem}.leave-info{flex:1}.leave-date{font-size:.9375rem;font-weight:600}.leave-meta{font-size:.8125rem;color:var(--text-muted);margin-top:2px}.leave-type{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:999px;white-space:nowrap}.leave-type-REST{background:#e0f2fe;color:#0369a1}.leave-type-LEAVE{background:#fce7f3;color:#9d174d}.delete-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1.375rem;padding:.375rem;border-radius:8px;line-height:1;transition:color .15s,background .15s}.delete-btn:hover{color:#dc2626;background:#fee2e2}
