:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;margin:0;padding:0;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fafafa;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,sans-serif}#root{width:100%;height:100%}.app-container{background:#fff;width:100%;min-height:100vh;margin:0;padding:0;display:flex}.app-main{flex-direction:column;flex:1;width:100%;min-height:100vh;display:flex;overflow-x:hidden}.app-content{background:#fafafa;flex:1;overflow-y:auto}.sidebar-nav{background:#fff;border-right:1px solid #e5e5e5;flex-direction:column;flex-shrink:0;width:240px;height:100vh;display:flex;position:sticky;top:0}.sidebar-header{text-align:center;border-bottom:1px solid #e5e5e5;padding:1.75rem 1.5rem}.sidebar-title{color:#1d1d1f;letter-spacing:-.4px;margin:0;font-size:1.4rem;font-weight:600}.birthday-icon{margin:.5rem 0;font-size:2rem}.sidebar-subtitle{color:#86868b;margin:.35rem 0 0;font-size:.75rem;font-weight:500}.sidebar-sections{flex:1;padding:1.5rem 0;overflow-y:auto}.sidebar-section{margin-bottom:2rem}.sidebar-section:last-child{margin-bottom:1.5rem}.sidebar-section-title{color:#86868b;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;padding:0 1.5rem;font-size:.65rem;font-weight:700}.sidebar-item{color:#1d1d1f;border-left:3px solid #0000;align-items:center;gap:.5rem;padding:.625rem 1.5rem;font-size:.95rem;font-weight:400;text-decoration:none;transition:all .15s;display:flex;position:relative}.sidebar-item:hover{color:#007aff;background:#f5f5f7}.sidebar-item.active{color:#007aff;background:#f0f0f0;border-left-color:#007aff;font-weight:500}.sidebar-icon{justify-content:center;align-items:center;width:20px;height:20px;font-size:1.25rem;line-height:1;display:flex}.sidebar-label{letter-spacing:-.1px;flex:1;line-height:1.4}@media (width<=768px){.app-container{flex-direction:column}.sidebar-nav{-webkit-backdrop-filter:blur(20px);order:2;z-index:1000!important;background:#fffffffa!important;border-top:1px solid #e5e5e5!important;border-right:none!important;width:100%!important;height:auto!important;position:fixed!important;inset:auto 0 0!important;box-shadow:0 -2px 8px #0000000a!important}.sidebar-header{display:none!important}.sidebar-sections{-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0;display:flex;overflow-x:auto}.sidebar-sections::-webkit-scrollbar{display:none}.sidebar-section{width:100%;margin:0;display:flex}.sidebar-section-title{display:none}.sidebar-item{text-align:center;border-top:2px solid #0000;border-left:none;flex-direction:column;flex:1;gap:.25rem;min-width:0;padding:.625rem .375rem;font-size:.7rem}.sidebar-item.active{background:0 0;border-top-color:#007aff;border-left-color:#0000}.sidebar-icon{width:auto;height:auto;font-size:1.25rem}.sidebar-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.625rem;font-weight:500;overflow:hidden}.app-main{order:1;width:100%!important;min-height:100vh!important;margin-left:0!important;padding-bottom:70px!important}.app-content{height:100%;width:100%!important}}@media (width<=480px){.sidebar-item{padding:.5rem .25rem}.sidebar-icon{font-size:1.15rem}.sidebar-label{font-size:.575rem}}.loading-screen{background:#fafafa;justify-content:center;align-items:center;min-height:100vh;display:flex}.loading{color:#86868b;justify-content:center;align-items:center;min-height:400px;font-size:1rem;display:flex}button{cursor:pointer;background:0 0;border:none;font-family:inherit}button:active{transform:scale(.98)}.login-view{background:#fafafa;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-container{background:#fff;border:1px solid #0000000a;border-radius:16px;width:100%;max-width:400px;padding:2.5rem;box-shadow:0 4px 24px #0000000f}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{color:#1d1d1f;letter-spacing:-.5px;margin:0 0 .5rem;font-size:2rem;font-weight:600}.login-header p{color:#86868b;margin:0;font-size:.95rem}.login-form,.form-group{margin-bottom:1.5rem}.form-group input{background:#fafafa;border:1px solid #0000001a;border-radius:10px;width:100%;padding:.875rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s}.form-group input:focus{background:#fff;border-color:#007aff;outline:none}.form-group input:disabled{opacity:.6;cursor:not-allowed}.login-button{color:#fff;cursor:pointer;background:#007aff;border:none;border-radius:10px;width:100%;padding:.875rem;font-family:inherit;font-size:1rem;font-weight:500;transition:background .2s}.login-button:hover:not(:disabled){background:#0051d5}.login-button:disabled{opacity:.6;cursor:not-allowed}.message{text-align:center;border-radius:10px;margin-top:1rem;padding:.875rem;font-size:.9rem}.message.success{color:#0a5d2c;background:#d1f4e0}.message.error{color:#c41e3a;background:#ffe0e0}.login-footer{text-align:center;color:#86868b;font-size:.85rem;line-height:1.5}.login-footer p{margin:.25rem 0}.day-editor-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.day-editor{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:700px;max-height:90vh;display:flex;box-shadow:0 20px 60px #0000004d}.day-editor-loading{text-align:center;color:#666;padding:2rem}.day-editor-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.day-editor-header h2{color:#333;margin:0;font-size:1.5rem}.close-button{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:2rem;line-height:1;transition:background-color .2s;display:flex}.close-button:hover{color:#333;background-color:#f0f0f0}.day-editor-content{flex:1;padding:1.5rem;overflow-y:auto}.editor-section h3{color:#333;margin:0 0 1rem;font-size:1.1rem;font-weight:600}.shift-selector label{color:#555;margin-bottom:.5rem;font-weight:500;display:block}.shift-options{gap:.5rem;display:flex}.option-btn{cursor:pointer;background:#fff;border:2px solid #ddd;border-radius:8px;flex:1;padding:.75rem 1rem;font-size:1rem;font-weight:500;transition:all .2s}.option-btn:hover{background:#f8f8f8;border-color:#999}.option-btn.active{color:#2e7d32;background:#e8f5e9;border-color:#4caf50}.option-btn.active.riley{color:#ec407a;background:#fce4ec;border-color:#f48fb1}.option-btn.active.jackson{color:#42a5f5;background:#e3f2fd;border-color:#64b5f6}.availability-section{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:1.25rem}.status-selector{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem;margin-bottom:1rem;display:grid}.status-btn{cursor:pointer;text-align:center;background:#fff;border:2px solid #ddd;border-radius:8px;padding:.75rem .5rem;font-size:.95rem;font-weight:500;transition:all .2s}.status-btn:hover{background:#f8f8f8;border-color:#999;transform:translateY(-1px)}.status-btn.active{color:#2e7d32;background:#e8f5e9;border-color:#4caf50;font-weight:600}.status-btn.active.wfh{color:#1565c0;background:#e3f2fd;border-color:#2196f3}.status-btn.active.wfo{color:#6a1b9a;background:#f3e5f5;border-color:#9c27b0}.status-btn.active.partial{color:#e65100;background:#fff3e0;border-color:#ff9800}.status-btn.active.unavailable{color:#c62828;background:#ffebee;border-color:#f44336}.status-btn.active.out-of-town{color:#d84315;background:#fbe9e7;border-color:#ff5722}.period-selector{background:#fff;border:1px solid #ddd;border-radius:6px;margin-top:1rem;padding:1rem}.period-label{color:#555;margin-bottom:.75rem;font-weight:500;display:block}.period-checkboxes{flex-wrap:wrap;gap:1.5rem;display:flex}.period-checkbox{cursor:pointer;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.period-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px}.period-checkbox span{color:#333}.reason-input{background:#fff;border:1px solid #ddd;border-radius:6px;margin-top:1rem;padding:1rem}.reason-input label{color:#555;margin-bottom:.5rem;font-weight:500;display:block}.reason-input input[type=text]{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;width:100%;padding:.75rem;font-size:1rem}.reason-input input[type=text]:focus{border-color:#2196f3;outline:none;box-shadow:0 0 0 3px #2196f31a}.caretaker-preview{background:#e8f5e9;border:2px solid #4caf50}.alert-message{color:#c62828;background:#ffebee;border:1px solid #f44336;border-radius:6px;margin-bottom:.75rem;padding:.75rem 1rem;font-weight:500}.alert-message:last-child{margin-bottom:0}.alert-message.warning{color:#e65100;background:#fff3e0;border-color:#ff9800}.caretaker-info{background:#fff;border:1px solid #4caf50;border-radius:6px;padding:.75rem 1rem;font-size:.95rem}.caretaker-info strong{color:#2e7d32}.care-type-selector{gap:.5rem;display:flex}.care-btn{cursor:pointer;background:#fff;border:2px solid #ddd;border-radius:8px;flex:1;padding:.75rem 1rem;font-size:1rem;font-weight:500;transition:all .2s}.care-btn:hover{background:#f8f8f8;border-color:#999}.care-btn.active{color:#2e7d32;background:#e8f5e9;border-color:#4caf50}.care-provider-select{cursor:pointer;background:#fff;border:2px solid #ddd;border-radius:8px;width:100%;padding:.75rem;font-size:1rem}.care-provider-select:focus{border-color:#2196f3;outline:none;box-shadow:0 0 0 3px #2196f31a}.cost-notice{color:#e65100;background:#fff3e0;border:1px solid #ff9800;border-radius:6px;margin-top:.75rem;padding:.75rem;font-size:.9rem;font-weight:500}.day-editor-footer{border-top:1px solid #e0e0e0;justify-content:flex-end;gap:.75rem;padding:1.5rem;display:flex}.cancel-button,.save-button{cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.cancel-button{color:#666;background:#f5f5f5}.cancel-button:hover{color:#333;background:#e0e0e0}.save-button{color:#fff;background:#4caf50}.save-button:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}@media (width<=640px){.day-editor{border-radius:0;max-width:100%;max-height:100vh}.day-editor-header h2{font-size:1.25rem}.status-selector{grid-template-columns:repeat(2,1fr)}.shift-options,.care-type-selector{flex-direction:column}.period-checkboxes{flex-direction:column;gap:.75rem}}.event-modal-overlay{z-index:1100;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.event-modal{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.event-modal-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.event-modal-header h2{color:#1d1d1f;margin:0;font-size:1.5rem;font-weight:600}.event-form{padding:1.5rem}.form-group input[type=text],.form-group input[type=date],.form-group input[type=time],.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:#007aff;outline:none}.form-group textarea{resize:vertical}.event-types{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem;display:grid}.event-type-btn{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:.625rem .75rem;font-size:.9rem;font-weight:500;transition:all .15s}.event-type-btn:hover{transform:translateY(-1px)}.event-type-btn.active{font-weight:600}@media (width<=640px){.form-row{grid-template-columns:1fr}.event-types{grid-template-columns:repeat(2,1fr)}}.event-modal-footer{border-top:1px solid #e0e0e0;justify-content:flex-end;gap:.75rem;padding:1.5rem;display:flex}.cancel-btn,.save-btn{cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.save-btn:hover{background:#0051d5;transform:translateY(-1px);box-shadow:0 4px 12px #007aff4d}.calendar-view{max-width:100%;margin:0 auto;padding:1.5rem 2rem;position:relative}@media (width>=1800px){.calendar-view{padding:1.5rem 3rem}}@media (width<=768px){.calendar-view{width:100%;max-width:100vw;padding:.75rem;overflow-x:hidden}}@media (width<=480px){.calendar-view{width:100%;max-width:100vw;padding:.375rem}.calendar-grid{gap:.2rem}}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.calendar-header button{color:#007aff;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.5rem 1rem;font-size:1.5rem;transition:background .2s}.calendar-header button:hover{background:#f5f5f7}@media (width<=768px){.calendar-header{margin-bottom:.5rem}.calendar-header button{padding:.25rem .5rem;font-size:1.25rem}.calendar-header h2{font-size:1.15rem}}@media (width<=480px){.calendar-header{margin-bottom:.625rem}.calendar-header button{padding:.25rem .5rem;font-size:1.15rem}}.week-header-info{flex:1;justify-content:center;align-items:center;gap:1rem;display:flex}.week-header-info h2{margin:0}.today-btn{cursor:pointer;border:none;font-weight:600;transition:all .2s;color:#fff!important;background:#007aff!important;border-radius:8px!important;padding:.5rem 1rem!important;font-size:.85rem!important}.today-btn:hover{transform:scale(1.05);background:#0051d5!important}@media (width<=768px){.today-btn{border-radius:6px!important;padding:.375rem .75rem!important;font-size:.75rem!important}}@media (width<=480px){.today-btn{padding:.3rem .625rem!important;font-size:.7rem!important}}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}@media (width<=768px){.calendar-header{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.calendar-header h2{font-size:1.1rem}.calendar-header button{padding:.375rem .75rem;font-size:1.25rem}.calendar-toolbar{gap:.5rem;margin-bottom:1rem}.add-event-btn-main,.calendar-toolbar{display:none!important}.view-switcher button{padding:.5rem .75rem;font-size:.85rem}.toolbar-btn{display:none!important}}.view-switcher{background:#f5f5f7;border-radius:10px;gap:.5rem;padding:.35rem;display:flex}.view-switcher button{color:#1d1d1f;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:.65rem 1rem;font-size:.9rem;font-weight:500;transition:all .15s}.view-switcher button.active{background:#fff;box-shadow:0 1px 3px #00000014}.view-switcher button:hover:not(.active){background:#ffffff80}.toolbar-actions{align-items:center;gap:.5rem;display:flex}.toolbar-btn{color:#1d1d1f;cursor:pointer;white-space:nowrap;background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:.65rem 1rem;font-size:.9rem;font-weight:500;transition:all .15s}.toolbar-btn:hover{background:#f5f9ff;border-color:#007aff}.toolbar-btn.active{color:#fff;background:#007aff;border-color:#007aff}.bulk-actions-panel{background:#fff;border:2px solid #e0e0e0;border-radius:12px;margin-bottom:1.5rem;overflow:hidden}.bulk-header{color:#fff;background:linear-gradient(135deg,#007aff 0%,#0051d5 100%);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.selected-count{font-size:1rem;font-weight:600}.bulk-cancel{color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:6px;padding:.5rem 1rem;font-weight:600;transition:all .15s}.bulk-cancel:hover{background:#ffffff4d}.bulk-sections{grid-template-columns:repeat(2,1fr);gap:1.5rem;padding:1.5rem;display:grid}@media (width<=768px){.bulk-sections{grid-template-columns:1fr}}.bulk-section{flex-direction:column;gap:.75rem;display:flex}.bulk-section-title{color:#86868b;text-transform:uppercase;letter-spacing:1px;margin:0;font-size:.85rem;font-weight:700}.bulk-actions{flex-direction:column;gap:.5rem;display:flex}.bulk-action-btn{cursor:pointer;text-align:left;border:2px solid;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:600;transition:all .15s;display:flex}.bulk-action-btn.assign{color:#2e7d32;background:#fff;border-color:#4caf50}.bulk-action-btn.assign:hover{background:#e8f5e9;transform:translate(4px)}.bulk-action-btn.wfh{color:#1565c0;background:#fff;border-color:#2196f3}.bulk-action-btn.wfh:hover{background:#e3f2fd;transform:translate(4px)}.bulk-action-btn.wfo{color:#6a1b9a;background:#fff;border-color:#9c27b0}.bulk-action-btn.wfo:hover{background:#f3e5f5;transform:translate(4px)}.bulk-action-btn.unavailable{color:#c62828;background:#fff;border-color:#f44336}.bulk-action-btn.unavailable:hover{background:#ffebee;transform:translate(4px)}.bulk-action-btn.out-of-town{color:#d84315;background:#fff;border-color:#ff5722}.bulk-action-btn.out-of-town:hover{background:#fbe9e7;transform:translate(4px)}.stats-panel{background:#fff;border:2px solid #e0e0e0;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.stats-panel h3{color:#1d1d1f;margin:0 0 1.25rem;font-size:1.1rem;font-weight:600}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.stat-card{text-align:center;border:2px solid;border-radius:12px;padding:1.25rem}.stat-card.riley{background:linear-gradient(135deg,#fce4ec 0%,#fff 100%);border-color:#f48fb1}.stat-card.jackson{background:linear-gradient(135deg,#e3f2fd 0%,#fff 100%);border-color:#64b5f6}.stat-name{color:#86868b;text-transform:uppercase;letter-spacing:1px;margin-bottom:.75rem;font-size:.85rem;font-weight:700}.stat-number{color:#1d1d1f;margin-bottom:.25rem;font-size:2.5rem;font-weight:700;line-height:1}.stat-label{color:#86868b;margin-bottom:1rem;font-size:.9rem;font-weight:500}.stat-bar{background:#00000014;border-radius:4px;width:100%;height:8px;margin-bottom:.5rem;overflow:hidden}.stat-card.riley .stat-fill{background:#f48fb1;border-radius:4px;height:100%;transition:width .3s}.stat-card.jackson .stat-fill{background:#64b5f6;border-radius:4px;height:100%;transition:width .3s}.stat-percent{color:#1d1d1f;font-size:1.1rem;font-weight:700}.calendar-header h2{color:#1d1d1f;letter-spacing:-.3px;font-size:1.3rem;font-weight:600}@media (width<=768px){.calendar-header h2{font-size:1.1rem}}@media (width<=480px){.calendar-header h2{font-size:1rem}.calendar-grid{gap:.25rem}.calendar-day{min-height:55px;padding:.25rem .15rem;font-size:.75rem}.day-number{margin-bottom:.05rem;font-size:.75rem;font-weight:700}.day-summary{max-height:2em;font-size:.5rem;line-height:1;display:none;overflow:hidden}.shift-bar{border-radius:1px;height:5px;font-size:0}.shift-label{display:none}}.add-event-btn-main{color:#fff;cursor:pointer;background:#007aff;border:none;border-radius:8px;padding:.625rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s}.add-event-btn-main:hover{background:#0051d5;transform:translateY(-1px);box-shadow:0 4px 12px #007aff4d}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;width:100%;display:grid}.calendar-day-header{text-align:center;color:#999;padding:.5rem 0;font-size:.75rem;font-weight:600}@media (width<=768px){.calendar-day-header{padding:.375rem 0;font-size:.7rem}}.calendar-day{aspect-ratio:1;cursor:pointer;background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;flex-direction:column;min-height:100px;padding:.625rem;transition:all .2s;display:flex;position:relative}@media (width<=768px){.calendar-view{width:100%;max-width:100vw;padding:.5rem;overflow-x:hidden}.calendar-grid{gap:.25rem;width:100%}.calendar-day{min-height:60px;padding:.3rem .2rem}.day-number{margin-bottom:.1rem;font-size:.85rem;font-weight:600}.day-summary{text-overflow:ellipsis;max-height:2.1em;font-size:.55rem;line-height:1.05;overflow:hidden}.day-events{gap:1px}.day-event{padding:1px 3px;font-size:.6rem}.event-time{display:none}.shift-bar{border-radius:2px;height:8px;font-size:0}.shift-label{display:none}.day-shifts-visual{gap:2px;padding-top:.25rem}.day-warning{padding:.375rem;font-size:.6rem}.coverage-indicator{width:18px;height:18px;font-size:.7rem}.add-event-btn-small{width:18px;height:18px;font-size:.8rem}}.calendar-day:hover:not(.empty){transform:scale(1.02);box-shadow:0 2px 8px #0000001a}.calendar-day.empty{cursor:default;background:0 0;border:none}.calendar-day.today{border-width:2px;border-color:#007aff}.calendar-day.selectable{cursor:pointer}.calendar-day.selected{border-width:3px;border-color:#007aff;position:relative;box-shadow:0 0 0 3px #007aff33}.calendar-day.selected:after{content:"✓";color:#fff;background:#007aff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:4px;right:4px}.calendar-day.riley-day{background:#fce4ec;border-color:#f48fb1}.calendar-day.jackson-day{background:#e3f2fd;border-color:#64b5f6}.calendar-day.mixed-day{background:#f3e5f5;border-color:#9c27b0}.calendar-day.shared-day{background:#fafafa;border-color:#e0e0e0}.calendar-day.puppyprep-day{background:#e0f7fa;border-color:#00bcd4}.calendar-day.care-provider-day{background:#e8f5e9;border-color:#4caf50}.calendar-day.someone-unavailable{background:#fff9c4;border-color:#fbc02d}.calendar-day.both-unavailable{background:#ffcdd2;border-color:#d32f2f}.calendar-day.both-out-of-town{background:linear-gradient(135deg,#ffcdd2 0%,#ff8a80 50%,#ffcdd2 100%);border-width:2px;border-color:#d32f2f;animation:2s ease-in-out infinite pulseAlert}@keyframes pulseAlert{0%,to{box-shadow:0 0 #d32f2f66}50%{box-shadow:0 0 0 4px #d32f2f1a}}.calendar-day.needs-external-care{background:linear-gradient(135deg,#ffebee 0%,#ffcdd2 100%);border-width:2px;border-color:#f44336}.calendar-day.both-wfo{background:linear-gradient(135deg,#f3e5f5 0%,#e1bee7 100%);border-style:dashed;border-color:#9c27b0}.day-header{justify-content:space-between;align-items:flex-start;margin-bottom:.25rem;display:flex}.day-number{color:#1d1d1f;font-size:1rem;font-weight:700}.day-header-actions{align-items:center;gap:.25rem;display:flex}.coverage-indicator{color:#fff;background:#4caf50;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;font-weight:700;display:flex;box-shadow:0 2px 4px #4caf504d}.add-event-btn-small{color:#fff;cursor:pointer;opacity:0;background:#007aff;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:.9rem;font-weight:700;line-height:1;transition:all .2s;display:flex}.calendar-day:hover .add-event-btn-small{opacity:1}.add-event-btn-small:hover{background:#0051d5;transform:scale(1.1)}@media (width<=768px){.add-event-btn-small{display:none!important}}.day-events{flex-direction:column;gap:2px;margin-top:.25rem;margin-bottom:.25rem;display:flex}.day-event{text-overflow:ellipsis;white-space:nowrap;background:#f5f5f7;border-left:3px solid;border-radius:2px;align-items:center;gap:4px;padding:2px 4px;font-size:.65rem;display:flex;overflow:hidden}.event-time{color:#666;font-weight:600}.event-title{text-overflow:ellipsis;color:#1d1d1f;flex:1;overflow:hidden}.day-event-more{color:#666;padding:2px 4px;font-size:.65rem;font-weight:500}.calendar-day.fully-covered{border-width:2px;border-color:#4caf50!important}.calendar-day:not(.fully-covered){border-style:dashed;border-color:#e0e0e0}.day-summary{color:#1d1d1f;text-align:center;padding:.25rem;font-size:.7rem;font-weight:500;line-height:1.3}.day-warning{color:#856404;text-align:center;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin-top:.25rem;padding:.5rem;font-size:.7rem;font-weight:600;animation:2s ease-in-out infinite warningPulse}@keyframes warningPulse{0%,to{background:#fff3cd}50%{background:#ffe69c}}.quick-assign-btns{opacity:0;gap:4px;margin-top:.5rem;transition:opacity .2s;display:flex}.calendar-day:hover .quick-assign-btns{opacity:1}.quick-assign-btn{cursor:pointer;color:#fff;text-transform:uppercase;letter-spacing:.3px;border:none;border-radius:4px;flex:1;padding:.35rem .25rem;font-size:.65rem;font-weight:600;transition:all .15s}.quick-assign-btn.riley{background:#f48fb1}.quick-assign-btn.riley:hover{background:#ec407a;transform:scale(1.05)}.quick-assign-btn.jackson{background:#64b5f6}.quick-assign-btn.jackson:hover{background:#42a5f5;transform:scale(1.05)}.quick-assign-btn.clear{background:#9e9e9e;flex:none;width:28px;padding:.35rem .25rem;font-size:1.1rem;line-height:1}.quick-assign-btn.clear:hover{background:#757575;transform:scale(1.05)}@media (width<=768px){.quick-assign-btns,.quick-assign-btn,.quick-assign-btn.clear{display:none!important}}.day-shifts-visual{flex-direction:column;gap:3px;margin-top:auto;padding-top:.5rem;display:flex}.shift-bar{letter-spacing:.3px;border-radius:4px;justify-content:center;align-items:center;height:20px;font-size:.6rem;font-weight:600;transition:all .15s;display:flex}.shift-bar.riley{color:#fff;background:#f48fb1}.shift-bar.jackson{color:#fff;background:#64b5f6}.shift-bar.unassigned{color:#999;background:#e0e0e0;border:1px dashed #bdbdbd}.shift-label{text-transform:uppercase;font-weight:700}@media (width>=768px){.day-summary{font-size:.75rem}}@media (width>=1024px){.day-summary{font-size:.8rem}}.care-indicator{margin-bottom:.25rem;font-size:.9rem}.availability-indicators{flex-wrap:wrap;gap:.25rem;margin-bottom:.25rem;display:flex}.avail-badge{white-space:nowrap;border-radius:4px;align-items:center;padding:.15rem .35rem;font-size:.7rem;font-weight:600;line-height:1;display:inline-flex}.avail-badge.wfh{color:#1565c0;background:#e3f2fd;border:1px solid #2196f3}.avail-badge.wfo{color:#6a1b9a;background:#f3e5f5;border:1px solid #9c27b0}.avail-badge.out_of_town{color:#d84315;background:#fbe9e7;border:1px solid #ff5722}.avail-badge.unavailable{color:#c62828;background:#ffebee;border:1px solid #f44336}.avail-badge.partial{color:#e65100;background:#fff3e0;border:1px solid #ff9800}.shift-indicators{flex-wrap:wrap;gap:.2rem;margin-top:auto;display:flex}.shift-dot{border-radius:50%;width:6px;height:6px}.day-editor-overlay{z-index:1100;background:#0006;animation:.2s fadeIn;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.day-editor-modal{background:#fff;border-radius:20px 20px 0 0;max-height:calc(85vh - 70px);animation:.3s slideUp;position:fixed;bottom:70px;left:0;right:0;overflow-y:auto;box-shadow:0 -4px 24px #00000026}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (width>=768px){.day-editor-modal{border-radius:20px;max-width:600px;bottom:2rem;left:50%;transform:translate(-50%)}@keyframes slideUp{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}}.modal-header{z-index:10;background:#fff;border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex;position:sticky;top:0}.modal-header:before{content:"";background:#e0e0e0;border-radius:10px;width:36px;height:5px;position:absolute;top:.5rem;left:50%;transform:translate(-50%)}.modal-header h3{color:#1d1d1f;letter-spacing:-.3px;margin:0;font-size:1.1rem;font-weight:600}.modal-content{padding:1.5rem 1.5rem 2rem}.editor-section{margin-bottom:2rem}.editor-section:last-child{margin-bottom:0}.editor-section h4{color:#86868b;text-transform:uppercase;letter-spacing:.8px;margin:0 0 1rem;font-size:.75rem;font-weight:600}.shift-selector{margin-bottom:1.25rem}.shift-selector:last-child{margin-bottom:0}.shift-selector label{color:#1d1d1f;margin-bottom:.65rem;font-size:.95rem;font-weight:500;display:block}.button-group{grid-template-columns:repeat(3,1fr);gap:.65rem;display:grid}.button-group button{color:#1d1d1f;cursor:pointer;letter-spacing:-.2px;background:#fff;border:1.5px solid #e0e0e0;border-radius:10px;padding:.875rem .5rem;font-size:.95rem;font-weight:500;transition:all .15s}.button-group button.active{color:#fff;background:#007aff;border-color:#007aff}.button-group button:hover:not(.active){background:#f5f5f7;border-color:#007aff}.checkbox-label{cursor:pointer;color:#1d1d1f;background:#f5f5f7;border-radius:12px;align-items:center;gap:.75rem;margin-bottom:.65rem;padding:1rem 1.25rem;font-size:.95rem;font-weight:500;transition:background .15s;display:flex}.checkbox-label:hover{background:#e8e8ed}.checkbox-label:last-child{margin-bottom:0}.checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#007aff;width:22px;height:22px}.care-select{color:#1d1d1f;cursor:pointer;background:#fff;border:1.5px solid #e0e0e0;border-radius:12px;width:100%;padding:1rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:500;transition:all .15s}.care-select:focus{border-color:#007aff;outline:none}.modal-footer{background:#fff;border-top:1px solid #0000000f;gap:.75rem;padding:1rem 1.5rem 1.5rem;display:flex;position:sticky;bottom:0}.modal-footer button{cursor:pointer;letter-spacing:-.2px;border:none;border-radius:12px;flex:1;padding:1rem;font-size:1rem;font-weight:600;transition:all .15s}.save-btn:hover{background:#0051d5;transform:scale(1.02)}.week-view{margin-top:1.5rem}.week-grid{flex-wrap:wrap;justify-content:flex-start;gap:1rem;width:100%;display:flex}.week-day{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:12px;flex-direction:column;flex:calc(14.28% - 1rem);min-width:160px;max-width:none;padding:1rem;transition:all .2s;display:flex;position:relative;overflow:hidden}@media (width>=1600px){.week-day{min-width:180px}}@media (width<=1400px){.week-day{flex:calc(25% - 1rem)}}@media (width<=1000px){.week-day{flex:calc(33.333% - 1rem)}}@media (width<=900px){.week-day{padding:.875rem}}@media (width<=700px){.week-day{flex:calc(50% - .75rem)}.week-grid{gap:.75rem}}@media (width<=480px){.week-day{flex:100%;min-width:0}}.week-day:before{content:"";background:0 0;height:3px;transition:background .2s;position:absolute;top:0;left:0;right:0}.week-day:hover{border-color:#007aff;box-shadow:0 4px 12px #00000014}.week-day.today{border-width:2px;border-color:#007aff;box-shadow:0 2px 8px #007aff26}.week-day.today:before{background:#007aff}.week-day.selectable{cursor:pointer}.week-day.selected{border-width:3px;border-color:#007aff;box-shadow:0 0 0 3px #007aff33}.week-day.selected:after{content:"✓";color:#fff;z-index:10;background:#007aff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:700;display:flex;position:absolute;top:8px;right:8px}.week-day.riley-day{background:linear-gradient(#fce4ec 0%,#fff 40%);border-color:#f48fb1}.week-day.jackson-day{background:linear-gradient(#e3f2fd 0%,#fff 40%);border-color:#64b5f6}.week-day.shared-day{background:#fff;border-color:#e0e0e0}.week-day.both-out-of-town,.week-day.needs-external-care{background:linear-gradient(#ffebee 0%,#fff 40%);border-color:#f44336}.week-day.both-wfo{background:linear-gradient(#f3e5f5 0%,#fff 40%);border-color:#9c27b0}.week-day-header{border-bottom:2px solid #f0f0f0;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.625rem;display:flex}.week-day-info{align-items:baseline;gap:.5rem;display:flex}.week-day-name{color:#86868b;letter-spacing:.8px;font-size:.7rem;font-weight:700}.week-day-number{color:#1d1d1f;font-size:1.5rem;font-weight:700;line-height:1}.day-owner{border:2px solid;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;font-weight:700;display:flex;box-shadow:0 2px 6px #0000001a}.day-owner.riley{color:#fff;background:#f48fb1;border-color:#ec407a}.day-owner.jackson{color:#fff;background:#64b5f6;border-color:#42a5f5}.day-owner.shared{color:#fff;background:linear-gradient(135deg,#f48fb1 0%,#64b5f6 100%);border-color:#9575cd;font-size:.7rem}.day-owner.alert{color:#fff;background:#f44336;border-color:#d32f2f;animation:2s ease-in-out infinite pulseAlert}.day-owner.none{color:#999;background:#f5f5f7;border-color:#e0e0e0}.owner-icon{letter-spacing:-.5px;font-weight:800}.week-availability{flex-wrap:wrap;gap:.375rem;margin-bottom:.625rem;display:flex}.week-avail-tag{border:1.5px solid;border-radius:5px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.7rem;font-weight:600;line-height:1.2;display:inline-flex}.week-avail-tag.wfh{color:#1565c0;background:#e3f2fd;border-color:#2196f3}.week-avail-tag.wfo{color:#6a1b9a;background:#f3e5f5;border-color:#9c27b0}.week-avail-tag.out_of_town{color:#d84315;background:#fbe9e7;border-color:#ff5722}.week-avail-tag.unavailable{color:#c62828;background:#ffebee;border-color:#f44336}.week-avail-tag.partial{color:#e65100;background:#fff3e0;border-color:#ff9800}.avail-initial{font-weight:700}.avail-label{font-weight:600}.week-care-badge{color:#1d1d1f;background:#f5f5f7;border:1px solid #e0e0e0;border-radius:6px;align-items:center;gap:.375rem;margin-bottom:.625rem;padding:.375rem .625rem;font-size:.7rem;font-weight:600;display:inline-flex}.care-icon{font-size:.85rem;line-height:1}.care-label{font-weight:600}.week-shifts{flex-direction:column;flex:1;gap:.5rem;display:flex}.week-shift-compact{background:#fff;border:2px solid #e0e0e0;border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .625rem;transition:all .15s;display:flex}.week-shift-compact:hover{border-color:#007aff}.week-shift-compact.riley{background:linear-gradient(90deg,#fce4ec,#fff);border-color:#f48fb1}.week-shift-compact.jackson{background:linear-gradient(90deg,#e3f2fd,#fff);border-color:#64b5f6}.shift-period{color:#86868b;letter-spacing:.5px;min-width:32px;font-size:.75rem;font-weight:700}.shift-assign-btns{gap:.375rem;display:flex}.assign-btn{cursor:pointer;color:#999;background:#fff;border:1.5px solid #ddd;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:700;transition:all .15s;display:flex}.assign-btn:hover{color:#666;border-color:#999;transform:scale(1.1)}.assign-btn.riley{border-color:#f8bbd0}.assign-btn.riley:hover{color:#f48fb1;background:#fce4ec;border-color:#f48fb1}.assign-btn.riley.active{color:#fff;background:#f48fb1;border-color:#f48fb1;box-shadow:0 2px 4px #f48fb14d}.assign-btn.jackson{border-color:#90caf9}.assign-btn.jackson:hover{color:#64b5f6;background:#e3f2fd;border-color:#64b5f6}.assign-btn.jackson.active{color:#fff;background:#64b5f6;border-color:#64b5f6;box-shadow:0 2px 4px #64b5f64d}.care-network-view{max-width:1400px;margin:0 auto;padding:1.5rem}@media (width>=768px){.care-network-view{padding:2rem 0}}@media (width<=768px){.care-network-view{padding:1rem}}@media (width<=480px){.care-network-view{padding:.75rem}}.care-network-header{margin-bottom:2rem}@media (width<=768px){.care-network-header{margin-bottom:1.25rem}}.care-network-header h2{color:#1d1d1f;letter-spacing:-.5px;margin:0 0 .5rem;font-size:1.75rem;font-weight:600}@media (width<=768px){.care-network-header h2{font-size:1.35rem}}@media (width<=480px){.care-network-header h2{font-size:1.2rem}}.care-network-subtitle{color:#86868b;margin:0;font-size:1rem}@media (width<=768px){.care-network-subtitle{font-size:.85rem}}@media (width<=480px){.care-network-subtitle{font-size:.8rem}}.providers-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem;display:grid}@media (width>=640px){.providers-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.providers-grid{grid-template-columns:repeat(3,1fr)}}.provider-card{cursor:pointer;background:#fff;border:1px solid #0000000f;border-radius:12px;align-items:center;gap:1rem;padding:1.5rem;transition:all .2s;display:flex}.provider-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.provider-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.8rem;display:flex}.provider-info{flex:1}.provider-name-section{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.provider-name{color:#1d1d1f;font-size:1.1rem;font-weight:600}.role-label{text-transform:uppercase;letter-spacing:.5px;color:#2e7d32;background:#e8f5e9;border-radius:6px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.provider-type{color:#86868b;font-size:.9rem;font-weight:500}.provider-cost{color:#86868b;font-size:.9rem}.provider-free{color:#34c759;font-size:.9rem;font-weight:500}.add-provider-section{text-align:center;padding:2rem 0}.add-provider-button{color:#fff;cursor:pointer;background:#007aff;border:none;border-radius:10px;margin-bottom:.75rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:500;transition:background .2s}.add-provider-button:hover{background:#0051d5}.add-provider-hint{color:#86868b;margin:0;font-size:.85rem}.add-provider-modal{background:#fff;border-radius:16px;width:100%;max-width:400px;padding:2rem}.add-provider-modal h3{color:#1d1d1f;margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.form-group{margin-bottom:1.25rem}.form-group label{color:#1d1d1f;margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.form-group input,.form-group select{color:#1d1d1f;background:#fff;border:1.5px solid #e0e0e0;border-radius:10px;width:100%;padding:.875rem 1rem;font-family:inherit;font-size:.95rem}.form-group input:focus,.form-group select:focus{border-color:#007aff;outline:none}.modal-actions{gap:.75rem;margin-top:1.5rem;display:flex}.modal-actions button{cursor:pointer;border:none;border-radius:10px;flex:1;padding:.875rem;font-size:.95rem;font-weight:500;transition:all .2s}.modal-actions .cancel-btn{color:#1d1d1f;background:#f5f5f7}.modal-actions .cancel-btn:hover{background:#e8e8ed}.modal-actions .save-btn{color:#fff;background:#007aff}.modal-actions .save-btn:hover:not(:disabled){background:#0051d5}.modal-actions .save-btn:disabled{cursor:not-allowed;opacity:.6;background:#ccc}.notes-view{max-width:900px;margin:0 auto;padding:1.5rem}@media (width<=768px){.notes-view{padding:1rem}}@media (width<=480px){.notes-view{padding:.75rem}}.notes-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}@media (width<=768px){.notes-header{margin-bottom:1.25rem}}.notes-header h2{color:#1d1d1f;margin:0 0 .25rem;font-size:1.75rem;font-weight:600}@media (width<=768px){.notes-header h2{font-size:1.35rem}}@media (width<=480px){.notes-header h2{font-size:1.2rem}}.notes-subtitle{color:#86868b;margin:0;font-size:.95rem}@media (width<=768px){.notes-subtitle{font-size:.85rem}}@media (width<=480px){.notes-subtitle{font-size:.8rem}}.add-note-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#007aff;border:none;border-radius:10px;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;transition:all .2s}.add-note-btn:hover{background:#0051d5;transform:translateY(-1px);box-shadow:0 4px 12px #007aff4d}.notes-list{flex-direction:column;gap:1rem;display:flex}.empty-add-btn{color:#fff;cursor:pointer;background:#007aff;border:none;border-radius:10px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s}.empty-add-btn:hover{background:#0051d5}.note-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;transition:all .2s}.note-card:hover{border-color:#007aff;box-shadow:0 4px 12px #00000014}.note-header{border-bottom:1px solid #f0f0f0;margin-bottom:1rem;padding-bottom:.75rem}.note-title{color:#1d1d1f;margin:0;font-size:1.2rem;font-weight:600}.note-title-input{color:#1d1d1f;border:1.5px solid #e0e0e0;border-radius:8px;width:100%;margin-bottom:1rem;padding:.75rem;font-family:inherit;font-size:1.1rem;font-weight:600}.note-title-input:focus{border-color:#007aff;outline:none}.note-content{color:#1d1d1f;white-space:pre-wrap;word-wrap:break-word;margin-bottom:1rem;font-size:1rem;line-height:1.6}.note-footer{border-top:1px solid #f0f0f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;display:flex}.note-meta{flex-direction:column;gap:.5rem;display:flex}.note-author-line,.note-edited-line{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.note-label{color:#86868b;font-size:.85rem}.note-author{font-size:.9rem;font-weight:600}.note-date{color:#86868b;font-size:.85rem}.note-actions{gap:.5rem;display:flex}.edit-note-btn,.delete-note-btn{cursor:pointer;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s}.edit-note-btn{color:#007aff;background:#f5f5f7}.edit-note-btn:hover{background:#e8f2ff}.delete-note-btn{color:#ff3b30;background:#f5f5f7}.delete-note-btn:hover{background:#ffebee}.note-editor{flex-direction:column;gap:1rem;display:flex}.note-textarea{color:#1d1d1f;resize:vertical;border:2px solid #e0e0e0;border-radius:10px;width:100%;min-height:120px;padding:1rem;font-family:inherit;font-size:1rem;line-height:1.6}.note-textarea:focus{border-color:#007aff;outline:none}.editor-actions{justify-content:flex-end;gap:.5rem;display:flex}.cancel-edit-btn,.save-edit-btn{cursor:pointer;border:none;border-radius:8px;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s}.cancel-edit-btn{color:#1d1d1f;background:#f5f5f7}.cancel-edit-btn:hover{background:#e8e8ed}.save-edit-btn{color:#fff;background:#007aff}.save-edit-btn:hover{background:#0051d5}.modal-overlay{z-index:1100;background:#0006;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h3{color:#1d1d1f;margin:0;font-size:1.25rem;font-weight:600}.close-btn{color:#86868b;cursor:pointer;background:#f5f5f7;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.5rem;transition:all .2s;display:flex}.close-btn:hover{background:#e8e8ed}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid #e0e0e0;gap:.75rem;padding:1.5rem;display:flex}.modal-footer button{cursor:pointer;border:none;border-radius:10px;flex:1;padding:.875rem;font-size:.95rem;font-weight:500;transition:all .2s}.cancel-btn{color:#1d1d1f;background:#f5f5f7}.cancel-btn:hover{background:#e8e8ed}.save-btn{color:#fff;background:#007aff}.save-btn:hover{background:#0051d5}.save-btn:disabled{cursor:not-allowed;opacity:.6;background:#ccc}@media (width<=640px){.notes-header{flex-direction:column;align-items:stretch}.add-note-btn{width:100%}.note-footer{flex-direction:column;align-items:flex-start}.note-actions{width:100%}.edit-note-btn,.delete-note-btn{flex:1}}.vet-view{max-width:1000px;margin:0 auto;padding:1.5rem}@media (width<=768px){.vet-view{padding:1rem}}@media (width<=480px){.vet-view{padding:.75rem}}.vet-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}@media (width<=768px){.vet-header{margin-bottom:1.25rem}}.vet-header h2{color:#1d1d1f;margin:0 0 .25rem;font-size:1.75rem;font-weight:600}@media (width<=768px){.vet-header h2{font-size:1.35rem}}@media (width<=480px){.vet-header h2{font-size:1.2rem}}.vet-subtitle{color:#86868b;margin:0;font-size:.95rem}@media (width<=768px){.vet-subtitle{font-size:.85rem}}@media (width<=480px){.vet-subtitle{font-size:.8rem}}.add-vet-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#34c759;border:none;border-radius:10px;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;transition:all .2s}.add-vet-btn:hover{background:#2fb350;transform:translateY(-1px);box-shadow:0 4px 12px #34c7594d}.appointments-list{flex-direction:column;gap:1rem;display:flex}.appointment-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:1.25rem;transition:all .2s}.appointment-card:hover{border-color:#34c759;box-shadow:0 4px 12px #00000014}.appointment-card.past{opacity:.7}.appointment-card.today{border-width:3px;border-color:#007aff;box-shadow:0 0 0 3px #007aff1a}.apt-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.apt-date-section{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.apt-date{color:#1d1d1f;font-size:1rem;font-weight:700}.apt-time{color:#86868b;font-size:.9rem;font-weight:500}.today-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;background:#007aff;border-radius:6px;padding:.25rem .65rem;font-size:.75rem;font-weight:700}.delete-apt-btn{color:#86868b;cursor:pointer;background:#f5f5f7;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:1.5rem;line-height:1;transition:all .2s;display:flex}.delete-apt-btn:hover{color:#ff3b30;background:#ffebee}.apt-body{flex-direction:column;gap:.65rem;display:flex}.apt-reason{color:#1d1d1f;font-size:1.1rem;font-weight:600}.apt-vet{color:#1d1d1f;font-size:.9rem}.apt-label{color:#86868b;font-weight:500}.apt-notes{color:#86868b;background:#f5f5f7;border-radius:8px;padding:.75rem;font-size:.9rem;line-height:1.5}.apt-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:.5rem;display:flex}.apt-cost{color:#34c759;font-size:1rem;font-weight:700}.apt-taken-by{font-size:.85rem;font-weight:500}.form-row{grid-template-columns:2fr 1fr;gap:1rem;display:grid}.form-field textarea{color:#1d1d1f;resize:vertical;background:#fff;border:1.5px solid #e0e0e0;border-radius:10px;width:100%;padding:.875rem 1rem;font-family:inherit;font-size:.95rem}.form-field textarea:focus{border-color:#34c759;outline:none}@media (width<=640px){.vet-header{flex-direction:column;align-items:stretch}.add-vet-btn{width:100%}.form-row{grid-template-columns:1fr}}.activity-view{max-width:800px;margin:0 auto;padding:1.5rem}@media (width<=768px){.activity-view{padding:1rem}}@media (width<=480px){.activity-view{padding:.75rem}}.activity-header{margin-bottom:1.5rem}@media (width<=768px){.activity-header{margin-bottom:1.25rem}}.activity-header h2{color:#1d1d1f;margin:0 0 .25rem;font-size:1.75rem;font-weight:600}@media (width<=768px){.activity-header h2{font-size:1.35rem}}@media (width<=480px){.activity-header h2{font-size:1.2rem}}.activity-subtitle{color:#86868b;margin:0;font-size:.95rem}@media (width<=768px){.activity-subtitle{font-size:.85rem}}@media (width<=480px){.activity-subtitle{font-size:.8rem}}.filter-tabs{background:#f5f5f7;border-radius:10px;gap:.5rem;width:fit-content;margin-bottom:1.5rem;padding:.35rem;display:flex}.filter-tab{color:#86868b;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.65rem 1.25rem;font-size:.9rem;font-weight:500;transition:all .15s}.filter-tab.active{color:#fff;background:#007aff;font-weight:600;box-shadow:0 2px 8px #007aff4d}.filter-tab:hover:not(.active){color:#1d1d1f;background:#ffffff80}.activity-list{flex-direction:column;gap:.75rem;display:flex}.empty-state{text-align:center;color:#86868b;padding:4rem 2rem}.empty-icon{margin-bottom:1rem;font-size:3rem}.empty-state p{margin:0;font-size:1rem}.activity-item{background:#fff;border:1px solid #e0e0e0;border-radius:12px;gap:1rem;padding:1rem;transition:all .2s;display:flex}.activity-item:hover{border-color:#007aff;box-shadow:0 2px 8px #00000014}.activity-icon{background:#f5f5f7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex}.activity-content{flex:1;min-width:0}.activity-description{color:#1d1d1f;margin-bottom:.5rem;font-size:.95rem;line-height:1.5}.activity-meta{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.activity-user{font-size:.85rem;font-weight:600}.activity-time{color:#86868b;font-size:.85rem}@media (width<=640px){.activity-item{gap:.75rem}.activity-icon{width:36px;height:36px;font-size:1rem}}.settings-view{max-width:600px;margin:0 auto;padding:1.5rem}.settings-view h2{color:#1d1d1f;letter-spacing:-.3px;margin-bottom:1.25rem;font-size:1.25rem;font-weight:600}.settings-section{border-bottom:1px solid #e5e5e5;margin-bottom:1.5rem;padding-bottom:1.5rem}.settings-section:last-of-type{border-bottom:none}.settings-section h3{color:#1d1d1f;letter-spacing:-.2px;margin-bottom:.5rem;font-size:.95rem;font-weight:600}.settings-description{color:#666;margin-bottom:.875rem;font-size:.8rem;line-height:1.4}@media (width<=768px){.settings-view{padding:1rem}.settings-view h2{margin-bottom:1rem;font-size:1.15rem}.settings-section{margin-bottom:1.25rem;padding-bottom:1.25rem}.settings-section h3{font-size:.9rem}.settings-description{font-size:.75rem}}.user-selection{flex-direction:column;gap:.75rem;display:flex}.user-card{text-align:left;cursor:pointer;background:#fafafa;border:1px solid #e5e5e5;border-radius:8px;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;transition:all .2s;display:flex}.user-card:hover{background:#f5f5f5;border-color:#d0d0d0}.user-card.active{background:#f0f7ff;border-color:#007aff}.user-color{border:2px solid #fff;border-radius:50%;flex-shrink:0;width:32px;height:32px;box-shadow:0 1px 3px #0000001a}.user-name{color:#1d1d1f;flex:1;font-size:.95rem;font-weight:500}.checkmark{color:#007aff;font-size:1.1rem}@media (width<=768px){.user-card{padding:.625rem .875rem}.user-color{width:28px;height:28px}.user-name{font-size:.9rem}.checkmark{font-size:1rem}}.sign-out-button{color:#fff;cursor:pointer;background:#ff3b30;border:none;border-radius:6px;width:100%;margin-top:.5rem;padding:.625rem 1rem;font-size:.85rem;font-weight:500;transition:background .2s}.sign-out-button:hover{background:#d62f24}@media (width<=768px){.sign-out-button{padding:.5rem .875rem;font-size:.8rem}}.dev-links{flex-direction:column;gap:.75rem;display:flex}.dev-link{color:inherit;background:#fafafa;border:1px solid #e5e5e5;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s;display:flex}.dev-link:hover{background:#f5f5f5;border-color:#007aff;transform:translate(2px)}.dev-link-icon{background:#fff;border:1px solid #e5e5e5;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.15rem;display:flex}.dev-link-content{flex-direction:column;flex:1;gap:.15rem;display:flex}.dev-link-title{color:#1d1d1f;letter-spacing:-.1px;font-size:.85rem;font-weight:600}.dev-link-url{color:#86868b;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.7rem}.dev-link-arrow{color:#86868b;font-size:1rem;font-weight:600;transition:transform .2s}.dev-link:hover .dev-link-arrow{color:#007aff;transform:translate(2px)}@media (width<=768px){.dev-link{gap:.625rem;padding:.625rem .875rem}.dev-link-icon{width:28px;height:28px;font-size:1rem}.dev-link-title{font-size:.8rem}.dev-link-url{font-size:.65rem}.dev-link-arrow{font-size:.9rem}}.app-version{text-align:center;color:#86868b;padding:1.25rem 0 1rem;font-size:.75rem}@media (width<=768px){.app-version{padding:1rem 0 1.5rem;font-size:.7rem}}
