:root{--bg: #f7f7f8;--surface: #ffffff;--border: #e2e2e6;--text: #1a1a1e;--text-muted: #6b6b74;--primary: #2563eb;--primary-hover: #1d4ed8;--danger: #dc2626;--danger-hover: #b91c1c;--success: #16a34a;--warning: #d97706;--radius: 8px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #16161a;--surface: #1f1f24;--border: #33333a;--text: #eceef0;--text-muted: #9a9aa2;--primary: #3b82f6;--primary-hover: #60a5fa}}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text)}a{color:var(--primary)}.page{max-width:880px;margin:0 auto;padding:24px 16px 64px}.auth-page{max-width:380px;margin:10vh auto;padding:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:20px}.card h2{margin-top:0;font-size:1.05rem}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.header h1{font-size:1.3rem;margin:0}label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:4px}input,select,textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:.95rem}.field{margin-bottom:14px}button{font-size:.9rem;padding:8px 14px;border-radius:6px;border:1px solid transparent;cursor:pointer;background:var(--primary);color:#fff}button:hover{background:var(--primary-hover)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:transparent;border-color:var(--border);color:var(--text)}button.secondary:hover{background:var(--border)}button.danger{background:var(--danger)}button.danger:hover{background:var(--danger-hover)}.row{display:flex;gap:8px;align-items:center}.error-text{color:var(--danger);font-size:.85rem;margin:4px 0 0}.muted{color:var(--text-muted);font-size:.85rem}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:500}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.badge.online{color:var(--success);background:color-mix(in srgb,var(--success) 15%,transparent)}.badge.away{color:var(--text-muted);background:color-mix(in srgb,var(--text-muted) 15%,transparent)}.badge.error{color:var(--danger);background:color-mix(in srgb,var(--danger) 15%,transparent)}.badge.pending{color:var(--warning);background:color-mix(in srgb,var(--warning) 15%,transparent)}details.help{margin-top:8px;font-size:.85rem}details.help summary{cursor:pointer;color:var(--primary)}details.help ol{padding-left:20px;color:var(--text-muted)}.weekday-grid{display:flex;flex-direction:column;gap:10px}.weekday-row{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.weekday-row:last-child{border-bottom:none}.weekday-name{width:90px;flex-shrink:0;font-weight:500;padding-top:8px}.weekday-intervals{flex:1;display:flex;flex-direction:column;gap:6px}.interval-row{display:flex;align-items:center;gap:6px}.interval-row input[type=time]{width:auto}.icon-button{background:transparent;border:none;color:var(--text-muted);padding:4px 8px}.icon-button:hover{color:var(--danger);background:transparent}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border)}th{color:var(--text-muted);font-weight:500}.empty-state{color:var(--text-muted);font-size:.9rem;padding:12px 0}
