:root{color-scheme:light;--color-primary: #6B8F71;--color-primary-hover: #5A7A5F;--color-primary-dark: #2F4F35;--color-primary-light: #8BAF91;--color-primary-lighter: #B5CCB8;--color-primary-lightest: #D4E2D5;--color-primary-bg: #E8EFE9;--color-accent: #B8963E;--color-accent-hover: #A07E2E;--bg-body: #F7F8F6;--bg-card: #FFFFFF;--bg-input: #FFFFFF;--bg-surface: #F2F4F2;--bg-surface-alt: #EAEDEA;--bg-hover: #EDF0ED;--bg-navbar: #2F4F35;--bg-footer: #2F4F35;--bg-disabled: #F2F4F2;--bg-overlay: rgba(0, 0, 0, .45);--text-primary: #2D3436;--text-heading: #1A2E1D;--text-label: #374151;--text-muted: #636E72;--text-disabled: #9ca3af;--text-on-primary: #FFFFFF;--text-on-navbar: #FFFFFF;--text-link: #6B8F71;--border-color: #D5DDD6;--border-color-light: #E2E8E3;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--bg-danger-light: #fef2f2;--text-danger: #b91c1c;--border-danger: #fecaca;--color-success: #059669;--bg-success-light: #f0fdf4;--text-success: #166534;--border-success: #bbf7d0;--color-warning: #B8963E;--bg-warning: #fef9c3;--text-warning: #78716c;--border-warning: #fde047;--bg-info: #d1ecf1;--text-info: #0c5460;--border-info: #bee5eb;--bg-error: #f8d7da;--text-error: #721c24;--bg-error-light: #fee2e2;--login-gradient-start: #6B8F71;--login-gradient-end: #2F4F35;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .3);--shadow-card: 0 2px 4px rgba(0, 0, 0, .1);--shadow-modal: 0 4px 24px rgba(0, 0, 0, .18);--spinner-track: #E2E8E3;--spinner-fill: var(--color-primary);--chip-bg: #D4E2D5;--chip-text: #2F4F35;--chip-border: #8BAF91;--chip-selected-bg: #E8EFE9;--chip-selected-border: var(--color-primary);--filter-bar-bg: #E8EFE9;--filter-bar-border: #B5CCB8;--filter-bar-heading: #1A2E1D}[data-theme=dark]{color-scheme:dark;--color-primary: #8BAF91;--color-primary-hover: #9CC4A2;--color-primary-dark: #5A7A5F;--color-primary-light: #6B8F71;--color-primary-lighter: #4A6B4F;--color-primary-lightest: #3A5240;--color-primary-bg: #263B2A;--color-accent: #D4AB4C;--color-accent-hover: #E0BC5C;--bg-body: #161A1B;--bg-card: #1E2426;--bg-input: #252C2F;--bg-surface: #2A3234;--bg-surface-alt: #313A3C;--bg-hover: #374042;--bg-navbar: #1A2E1D;--bg-footer: #1A2E1D;--bg-disabled: #2A3234;--bg-overlay: rgba(0, 0, 0, .65);--text-primary: #E0E4E0;--text-heading: #F2F4F2;--text-label: #C0C6C2;--text-muted: #8F9895;--text-disabled: #5C6562;--text-on-primary: #FFFFFF;--text-on-navbar: #E4E7E4;--text-link: #8BAF91;--border-color: #3E4A4D;--border-color-light: #354042;--color-danger: #ef4444;--color-danger-hover: #dc2626;--bg-danger-light: #3B1C1C;--text-danger: #ef4444;--border-danger: #7F1D1D;--color-success: #34D399;--bg-success-light: #1C3B2A;--text-success: #34D399;--border-success: #065F46;--color-warning: #D4AB4C;--bg-warning: #3B3520;--text-warning: #D4AB4C;--border-warning: #5C4A1E;--bg-info: #1C3345;--text-info: #67D4E8;--border-info: #155E75;--bg-error: #3B1C1C;--text-error: #FCA5A5;--bg-error-light: #3B1C1C;--login-gradient-start: #2A3A2D;--login-gradient-end: #141E16;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .6);--shadow-card: 0 2px 8px rgba(0, 0, 0, .35);--shadow-modal: 0 4px 24px rgba(0, 0, 0, .5);--spinner-track: #3E4A4D;--chip-bg: #263B2A;--chip-text: #8BAF91;--chip-border: #4A6B4F;--chip-selected-bg: #2A4430;--filter-bar-bg: #263B2A;--filter-bar-border: #4A6B4F;--filter-bar-heading: #8BAF91}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-body);color:var(--text-primary)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-primary{background-color:var(--color-primary);color:var(--text-on-primary)}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--text-muted);color:var(--text-on-primary)}.btn-secondary:hover{background-color:var(--text-label)}.card{background:var(--bg-card);border-radius:8px;padding:20px;box-shadow:var(--shadow-card);margin-bottom:20px}.loading{text-align:center;padding:40px;font-size:18px;color:var(--text-muted)}.error{background-color:var(--bg-error);color:var(--text-error);padding:15px;border-radius:4px;margin-bottom:20px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;font-size:14px;background-color:var(--bg-input);color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary)}.pagination{display:flex;justify-content:center;gap:10px;margin-top:20px}.pagination button{padding:8px 16px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:4px}.pagination button:hover:not(:disabled){background-color:var(--bg-hover)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination button.active{background-color:var(--color-primary);color:var(--text-on-primary);border-color:var(--color-primary)}a{color:var(--text-link)}a:hover{color:var(--color-primary-hover)}input,select,textarea{color-scheme:inherit}[data-theme=dark] .card{border:1px solid var(--border-color)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background-color:var(--bg-input);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] th{background-color:var(--bg-surface)!important;border-color:var(--border-color)!important}[data-theme=dark] td{border-color:var(--border-color-light)!important}.navbar{background-color:var(--bg-navbar);padding:0;box-shadow:var(--shadow-sm);position:relative}.navbar .container{display:flex;align-items:center;padding:0 20px;min-height:48px;max-width:100%;flex-wrap:nowrap}.navbar-brand{flex-shrink:0}.navbar-brand a{color:var(--text-on-navbar);text-decoration:none;font-size:15px;font-weight:700;white-space:nowrap;letter-spacing:-.01em}.navbar-collapse{display:contents}.navbar-menu{list-style:none;display:flex;gap:6px;padding:0;flex:1;margin:0 0 0 24px}.navbar-menu li a{color:var(--text-on-navbar);text-decoration:none;font-size:13px;font-weight:500;white-space:nowrap;padding:6px 8px;border-radius:4px;transition:background-color .15s,color .15s}.navbar-menu li a:hover{color:var(--color-accent);background-color:#ffffff1a}.navbar-user{display:flex;align-items:center;gap:10px;flex-shrink:1;min-width:0;margin-left:16px}.user-info{color:var(--text-on-navbar);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.user-role{color:var(--color-accent);font-size:12px}.btn-logout{background-color:var(--color-danger);color:var(--text-on-primary);border:none;padding:5px 12px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;white-space:nowrap;transition:background-color .2s}.btn-logout:hover{background-color:var(--color-danger-hover)}.theme-toggle{background:none;border:none;color:var(--text-on-navbar);cursor:pointer;padding:6px;font-size:16px;line-height:1;opacity:.8;transition:opacity .15s;margin-left:auto;flex-shrink:0}.theme-toggle:hover{opacity:1}.hamburger-btn{display:none;align-items:center;justify-content:center;background:none;border:none;color:var(--text-on-navbar);cursor:pointer;padding:6px;margin-left:8px;flex-shrink:0;opacity:.8;transition:opacity .15s}.hamburger-btn:hover{opacity:1}.hamburger-icon{display:block;width:18px;height:2px;background-color:var(--text-on-navbar);position:relative;transition:background-color .2s}.hamburger-icon:before,.hamburger-icon:after{content:"";display:block;width:18px;height:2px;background-color:var(--text-on-navbar);position:absolute;left:0;transition:transform .2s}.hamburger-icon:before{top:-6px}.hamburger-icon:after{top:6px}.hamburger-btn--open .hamburger-icon{background-color:transparent}.hamburger-btn--open .hamburger-icon:before{top:0;transform:rotate(45deg)}.hamburger-btn--open .hamburger-icon:after{top:0;transform:rotate(-45deg)}@media(max-width:1100px){.hamburger-btn{display:flex}.theme-toggle{margin-left:auto}.navbar-collapse{display:none;position:absolute;top:100%;left:0;right:0;background-color:var(--bg-navbar);flex-direction:column;z-index:999;box-shadow:0 4px 12px #00000040}.navbar-collapse--open{display:flex}.navbar-menu{flex-direction:column;gap:0;margin-left:0;padding:8px 0;flex:none}.navbar-menu li a{display:block;padding:10px 20px;border-radius:0;font-size:14px}.navbar-menu li a:hover{background-color:#ffffff14}.navbar-user{margin-left:0;padding:12px 20px;border-top:1px solid rgba(255,255,255,.15);flex-shrink:0;gap:12px}.user-info{max-width:none;overflow:visible}}.layout{min-height:100vh;display:flex;flex-direction:column}.idle-warning{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 20px;background-color:var(--bg-warning, #fff3cd);color:var(--text-warning, #856404);border-bottom:1px solid var(--border-warning, #ffc107);font-size:14px;font-weight:500;text-align:center}.idle-warning-btn{padding:4px 14px;font-size:13px;font-weight:600;border:1px solid var(--text-warning, #856404);border-radius:4px;background:transparent;color:var(--text-warning, #856404);cursor:pointer}.idle-warning-btn:hover{background-color:var(--text-warning, #856404);color:var(--bg-warning, #fff3cd)}.main-content{flex:1;padding:30px 0}.footer{background-color:var(--bg-footer);color:var(--text-on-primary);padding:20px 0;margin-top:40px}.footer p{text-align:center;margin:0;font-size:14px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--login-gradient-start) 0%,var(--login-gradient-end) 100%)}.login-container{width:100%;max-width:450px;padding:20px}.login-card{background:var(--bg-card);border-radius:12px;padding:40px;box-shadow:0 10px 40px #0003}.login-card h1{margin:0 0 10px;color:var(--text-heading);text-align:center;font-size:28px}.login-subtitle{text-align:center;color:var(--text-muted);margin-bottom:30px;font-size:16px}.login-card .form-group{margin-bottom:20px}.login-card .form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary)}.login-card .form-group input{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:6px;font-size:15px;transition:border-color .2s;background-color:var(--bg-input);color:var(--text-primary)}.login-card .form-group input:focus{outline:none;border-color:var(--color-primary)}.login-card .form-group input:disabled{background-color:var(--bg-disabled);cursor:not-allowed}.btn-block{width:100%;padding:14px;font-size:16px;font-weight:600;margin-top:10px}.login-card .info-message{margin-bottom:20px;padding:10px 14px;background-color:var(--bg-warning, #fff3cd);color:var(--text-warning, #856404);border:1px solid var(--border-warning, #ffc107);border-radius:6px;font-size:14px;text-align:center}.login-card .error{margin-bottom:20px}.login-info{margin-top:30px;padding-top:20px;border-top:1px solid var(--border-color);font-size:13px;color:var(--text-muted)}.login-info p{margin-bottom:10px;font-weight:600}.login-info ul{list-style:none;padding:0;margin:0}.login-info li{padding:5px 0;line-height:1.5}.login-info li strong{color:var(--text-heading)}.login-theme-toggle{position:absolute;top:20px;right:20px;background:#ffffff26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.3);color:#fff;cursor:pointer;padding:8px 12px;border-radius:8px;font-size:20px;line-height:1;transition:background-color .2s}.login-theme-toggle:hover{background:#ffffff40}.facility-search-page h1{margin-bottom:30px;color:var(--text-heading)}.search-filters h2{margin-bottom:20px;font-size:18px}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:20px}.filter-actions{display:flex;gap:10px}.results-summary{margin:20px 0;font-size:16px;color:var(--text-muted)}.facilities-list{display:flex;flex-direction:column;gap:15px}.facility-item{transition:transform .2s,box-shadow .2s}.facility-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.facility-header h3{margin-bottom:15px}.facility-header h3 a{color:var(--text-heading);text-decoration:none}.facility-header h3 a:hover{color:var(--color-primary)}.facility-details{margin-bottom:15px}.facility-details p{margin:5px 0;font-size:14px}.facility-actions{display:flex;gap:10px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.facility-detail-page h1{margin-bottom:20px;color:var(--text-heading)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid var(--border-color)}.tab{padding:12px 24px;border:none;background:none;cursor:pointer;font-size:16px;color:var(--text-muted);border-bottom:3px solid transparent;transition:all .2s}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-content{animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-bottom:15px}.details-grid div{padding:10px;background-color:var(--bg-surface);border-radius:4px}.summary-note{margin-top:15px;padding-top:15px;border-top:1px solid var(--border-color)}.summary-note p{margin-top:10px;line-height:1.6}.sub-section{padding:15px;background-color:var(--bg-surface);border-radius:4px;margin-bottom:15px}.sub-section:last-child{margin-bottom:0}.sub-section h3{margin-bottom:15px;font-size:16px;color:var(--text-muted)}.table-wrapper{overflow-x:auto;margin-top:15px}.table-wrapper table{width:100%;border-collapse:collapse}.table-wrapper th,.table-wrapper td{padding:12px;text-align:left;border-bottom:1px solid var(--border-color)}.table-wrapper th{background-color:var(--bg-surface);font-weight:600;color:var(--text-primary)}.table-wrapper tbody tr:hover{background-color:var(--bg-surface)}.history-description{color:var(--text-muted);margin-bottom:20px;line-height:1.6}.facility-create-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.facility-create-page h1{margin:0;color:var(--text-heading)}.facility-create-page .card{background:var(--bg-card);border:1px solid var(--border-color-light);border-radius:8px;padding:24px;max-width:600px}.facility-create-page .form-group{margin-bottom:16px}.facility-create-page .form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-label)}.facility-create-page .form-group input,.facility-create-page .form-group select,.facility-create-page .form-group textarea{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;background-color:var(--bg-input);color:var(--text-primary)}.facility-create-page .form-group small{display:block;margin-top:6px;font-size:13px;color:var(--text-muted)}.facility-create-page .form-group small a{color:var(--color-primary)}.facility-create-page .form-actions{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color-light)}.facility-create-page .alert{padding:12px 16px;border-radius:6px;margin-bottom:16px}.facility-create-page .alert-danger{background:var(--bg-danger-light);color:var(--text-danger);border:1px solid var(--border-danger)}.facility-create-page .loading{margin:0;color:var(--text-muted)}.visit-entry-page h1{margin-bottom:20px;color:var(--text-heading)}.visit-entry-page h2{margin-top:30px;margin-bottom:15px;font-size:20px;color:var(--text-primary)}.alert{padding:15px;border-radius:4px;margin-bottom:25px}.alert-info{background-color:var(--bg-info);color:var(--text-info);border:1px solid var(--border-info)}.section-description{color:var(--text-muted);margin-bottom:15px}.feature-list{list-style:disc;margin-left:30px;color:var(--text-muted);line-height:1.8}.form-actions{display:flex;gap:10px;margin-top:30px;padding-top:20px;border-top:1px solid var(--border-color)}.form-group small{display:block;margin-top:5px;color:var(--text-muted);font-size:13px}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{background-color:var(--bg-disabled);cursor:not-allowed}button:disabled{opacity:.6;cursor:not-allowed}.owners-page .page-header,.management-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.owners-page h1,.management-page h1{margin:0;color:var(--text-heading)}.owners-page .card,.management-page .card{background:var(--bg-card);border:1px solid var(--border-color-light);border-radius:8px;padding:24px;margin-bottom:24px}.owners-page .card h2,.management-page .card h2{margin-top:0;margin-bottom:20px;font-size:18px;color:var(--text-primary)}.owners-page .form-group,.management-page .form-group{margin-bottom:16px}.owners-page .form-group label,.management-page .form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-label)}.owners-page .form-group input,.owners-page .form-group textarea,.management-page .form-group input,.management-page .form-group textarea{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;background-color:var(--bg-input);color:var(--text-primary)}.owners-page .form-actions,.management-page .form-actions{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color-light)}.owners-page .alert,.management-page .alert{padding:12px 16px;border-radius:6px;margin-bottom:16px}.owners-page .alert-danger,.management-page .alert-danger{background:var(--bg-danger-light);color:var(--text-danger);border:1px solid var(--border-danger)}.owners-page .alert-success,.management-page .alert-success{background:var(--bg-success-light);color:var(--text-success);border:1px solid var(--border-success)}.owners-page .data-table,.management-page .data-table{width:100%;border-collapse:collapse}.owners-page .data-table th,.owners-page .data-table td,.management-page .data-table th,.management-page .data-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color-light)}.owners-page .data-table th,.management-page .data-table th{font-weight:600;color:var(--text-label);background:var(--bg-surface)}.owners-page .loading,.owners-page .empty,.management-page .loading,.management-page .empty{color:var(--text-muted);margin:0}
