:root{--primary-color:#3b82f6;--bg-color:#f8fafc;--text-color:#1e293b;--card-bg:#fff;--border-color:#e2e8f0;--danger-color:#ef4444;--warning-color:#f59e0b}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;line-height:1.5;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.container{width:100%;max-width:600px;margin:0 auto;padding:1rem}input:focus,button:focus,textarea:focus{outline:2px solid var(--primary-color);outline-offset:2px}.form-group{flex-direction:column;margin-bottom:1.25rem;display:flex}.form-label{margin-bottom:.5rem;font-size:.95rem;font-weight:600}.form-input{border:1px solid var(--border-color);background-color:var(--card-bg);border-radius:6px;padding:.85rem;font-size:1rem}.btn-primary{background-color:var(--primary-color);color:#fff;cursor:pointer;text-align:center;border:none;border-radius:6px;width:100%;padding:1rem;font-size:1rem;font-weight:700;transition:opacity .2s}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.alert-error{color:var(--danger-color);text-align:center;background-color:#fee2e2;border-radius:6px;margin-bottom:1.25rem;padding:.85rem;font-size:.9rem}.btn-danger-sm{color:var(--danger-color);cursor:pointer;background-color:#fee2e2;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.8rem;font-weight:600;transition:opacity .2s}.btn-danger-sm:hover{opacity:.8}.main-nav{background-color:var(--card-bg);border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:1rem;display:flex;box-shadow:0 1px 2px #0000000d}.main-nav a{color:#64748b;border-radius:6px;padding:.5rem .75rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s}.main-nav a:hover{color:var(--primary-color);background-color:#f1f5f9}.main-nav a.router-link-active{color:var(--primary-color);background-color:#eff6ff}.logout-btn{color:var(--danger-color);cursor:pointer;background-color:#fee2e2;border:none;border-radius:6px;padding:.5rem .75rem;font-size:.9rem;font-weight:600;transition:opacity .2s}.logout-btn:hover{opacity:.8}.page-title{text-align:center;color:var(--primary-color);margin-bottom:1.5rem;font-size:1.5rem}.section-title{border-bottom:2px solid var(--border-color);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.25rem}.subsection-title{color:#475569;margin-bottom:.75rem;font-size:1.1rem}.card{background-color:var(--card-bg);border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #0000001a}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1.5rem}.mt-2{margin-top:1.5rem}.text-muted{color:#64748b;font-size:.9rem}.timer-display{text-align:center;font-variant-numeric:tabular-nums;margin-bottom:1rem;font-size:3.5rem;font-weight:700}.timer-controls{justify-content:center;margin-bottom:1.5rem;display:flex}.timer-settings{background:#f1f5f9;border-radius:6px;padding:1rem}.btn-secondary{color:#475569;cursor:pointer;background-color:#e2e8f0;border:none;border-radius:6px;padding:.85rem;font-weight:700}.btn-toggle{cursor:pointer;background-color:#f1f5f9;border:2px solid #0000;border-radius:6px;flex:1;padding:1rem;font-weight:700;transition:all .2s}.btn-toggle.active{border-color:var(--primary-color);color:var(--primary-color);background-color:#eff6ff}.alert-info{color:#1e3a8a;border-left:4px solid var(--primary-color);background-color:#eff6ff;border-radius:6px;padding:1rem}.history-list{list-style:none}.history-item{border-bottom:1px solid var(--border-color);justify-content:space-between;padding:.75rem 0;display:flex}.appointments-list{flex-direction:column;gap:1rem;display:flex}.appt-card{border-left:4px solid var(--warning-color);background:#f8fafc;border-radius:4px;padding:1rem}.appt-date{margin-bottom:.25rem;font-weight:700}.appt-notes{white-space:pre-wrap;font-size:.95rem}.alert-warning-card{border-left:4px solid var(--warning-color);background-color:#fef3c7}.dashboard-grid{flex-direction:column;gap:1rem;display:flex}.dashboard-card{background-color:var(--card-bg);border:2px solid var(--border-color);color:var(--text-color);border-radius:8px;padding:1.5rem;text-decoration:none;transition:all .2s;box-shadow:0 1px 3px #0000000d}.dashboard-card:hover{border-color:var(--primary-color);background-color:#f8fafc}.dashboard-card h2{color:var(--primary-color);margin-bottom:.5rem;font-size:1.25rem}.dashboard-card p{color:#64748b;font-size:.95rem}
