﻿:root{--apple-blue: #007AFF;--apple-blue-light: #5AC8FA;--apple-blue-dark: #0056b3;--apple-green: #34c759;--apple-green-light: #64d27a;--apple-green-dark: #28a745;--apple-red: #ff3b30;--apple-red-light: #ff6b61;--apple-red-dark: #cc0000;--apple-orange: #ff9500;--apple-orange-light: #ffb340;--apple-purple: #5856d6;--apple-purple-light: #7b75e0;--apple-purple-dark: #3b3a9e;--apple-gray: #8e8e93;--apple-gray-light: #aeaeb2;--apple-gray-dark: #636366;--bg-primary: #f5f5f7;--bg-secondary: rgba(255, 255, 255, 0.72);--bg-tertiary: rgba(255, 255, 255, 0.5);--bg-card: rgba(255, 255, 255, 0.65);--bg-modal: rgba(255, 255, 255, 0.85);--text-primary: #1d1d1f;--text-secondary: #6e6e73;--text-tertiary: #86868b;--text-inverse: #ffffff;--glass-bg: rgba(255, 255, 255, 0);--glass-bg-dark: rgba(30, 30, 30, 0.72);--glass-border: rgba(255, 255, 255, 0.5);--glass-border-dark: rgba(255, 255, 255, 0.1);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.1);--glass-blur: blur(20px);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-round: 50%;--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);--shadow-md: 0 4px 16px rgba(0, 0, 0, 0.12);--shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.16);--shadow-xl: 0 12px 48px rgba(0, 0, 0, 0.2);--transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);--transition-normal: 0.3s cubic-bezier(0.4, 0, 0.2, 1);--transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1)}[data-theme=dark]{--bg-primary: #1c1c1e;--bg-secondary: rgba(44, 44, 46, 0.72);--bg-tertiary: rgba(44, 44, 46, 0.5);--bg-card: rgba(44, 44, 46, 0.65);--bg-modal: rgba(44, 44, 46, 0.85);--text-primary: #ffffff;--text-secondary: #98989d;--text-tertiary: #636366;--text-inverse: #1d1d1f;--glass-bg: rgba(44, 44, 46, 0.65);--glass-border: rgba(255, 255, 255, 0.1);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);--shadow-md: 0 4px 16px rgba(0, 0, 0, 0.3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.4);--shadow-xl: 0 12px 48px rgba(0, 0, 0, 0.5)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg-primary);min-height:100vh;color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--transition-normal),color var(--transition-normal);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}#login-screen,#dashboard-screen,#main-screen,#charts-screen{display:none}#login-screen:not(.hidden),#dashboard-screen:not(.hidden),#main-screen:not(.hidden),#charts-screen:not(.hidden){display:flex;flex-direction:column}.hidden{display:none !important}#login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:linear-gradient(135deg, rgba(0, 122, 255, 0.1) 0%, rgba(88, 86, 214, 0.1) 50%, rgba(0, 122, 255, 0.1) 100%);position:relative;overflow:hidden;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}#login-screen .login-background{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;z-index:0;pointer-events:none}#login-screen .glass-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.2;animation:float 20s infinite ease-in-out}#login-screen .orb-1{width:400px;height:400px;background:linear-gradient(135deg, var(--apple-blue), var(--apple-purple));top:-100px;left:-100px;animation-delay:0s}#login-screen .orb-2{width:300px;height:300px;background:linear-gradient(135deg, var(--apple-green), var(--apple-blue));bottom:-50px;right:-50px;animation-delay:-5s}#login-screen .orb-3{width:350px;height:360px;background:linear-gradient(275deg, var(--apple-purple), var(--apple-red));top:50%;left:50%;transform:translate(-50%, -50%);animation-delay:-10s}@keyframes float{0%,100%{transform:translate(0, 0) scale(1)}25%{transform:translate(160px, -140px) scale(1.1)}50%{transform:translate(-110px, 90px) scale(0.9)}75%{transform:translate(110px, -20px) scale(1.55)}}#login-screen .login-container{position:relative;z-index:1;width:100%;max-width:420px}#login-screen .login-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-xl);padding:var(--spacing-xl);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 8px 32px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.5);animation:slideUp .6s ease-out;overflow:hidden}@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}#login-screen .login-header{text-align:center;margin-bottom:var(--spacing-xl);z-index:10;position:relative;display:flex;flex-direction:column;align-items:center}#login-screen .login-header .login-logo{font-size:64px;margin-bottom:var(--spacing-md);display:block;animation:pulse 2s infinite;width:250px}#login-screen .login-header .login-logo svg{color:rgba(0,0,0,.5)}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}#login-screen .login-header h1{font-size:28px;font-weight:700;color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}#login-screen .login-header .login-subtitle{font-size:14px;color:var(--text-secondary);margin:0;font-weight:400}#login-screen .login-form{z-index:10;position:relative}#login-screen .login-form .form-group{margin-bottom:var(--spacing-lg)}#login-screen .login-form .form-group label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}#login-screen .login-form .form-group label .label-icon{font-size:16px}#login-screen .login-form .form-group input{width:100%;padding:var(--spacing-md) var(--spacing-lg);font-size:16px;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:hsla(0,0%,100%,.5);color:var(--text-primary);transition:all var(--transition-fast);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}#login-screen .login-form .form-group input:focus{outline:none;border-color:var(--apple-blue);background:hsla(0,0%,100%,.8);box-shadow:0 0 0 3px rgba(0,122,255,.2);transform:translateY(-2px)}#login-screen .login-form .form-group input::placeholder{color:var(--text-tertiary)}#login-screen .login-form .form-group input:hover:not(:focus){background:hsla(0,0%,100%,.6)}#login-screen .login-form .login-btn{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}#login-screen .login-form .login-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}#login-screen .login-form .login-btn:active{transform:translateY(0)}#login-screen .login-form .login-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}#login-screen .login-form .login-btn{background:linear-gradient(135deg, var(--apple-blue) 0%, var(--apple-blue-dark) 100%);width:100%;padding:var(--spacing-lg);font-size:16px;font-weight:600;color:#fff;border-radius:var(--radius-lg);margin-top:var(--spacing-lg);box-shadow:0 4px 15px rgba(0,122,255,.4),inset 0 1px 0 hsla(0,0%,100%,.3);position:relative;overflow:hidden}#login-screen .login-form .login-btn::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);transition:left .5s}#login-screen .login-form .login-btn:hover::before{left:100%}#login-screen .login-form .login-btn .btn-icon{font-size:18px;margin-right:var(--spacing-sm)}#login-screen .login-form .login-error{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:rgba(255,59,48,.15);border:1px solid rgba(255,59,48,.3);border-radius:var(--radius-md);color:var(--apple-red);font-size:14px;text-align:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:none}#login-screen .login-form .login-error:not(:empty){display:block;animation:shake .5s}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}#login-screen .login-footer{margin-top:var(--spacing-xl);text-align:center}#login-screen .login-footer p{font-size:12px;color:var(--text-tertiary);margin:0;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}#login-screen .login-footer p::before{content:"🔒";font-size:14px}[data-theme=dark] #login-screen{background:linear-gradient(135deg, rgba(0, 0, 0, 0.3) 0%, rgba(28, 28, 30, 0.5) 50%, rgba(0, 0, 0, 0.3) 100%)}[data-theme=dark] #login-screen .login-card{background:rgba(44,44,46,.65);border-color:hsla(0,0%,100%,.1)}[data-theme=dark] #login-screen .login-header h1{color:#fff}[data-theme=dark] #login-screen .login-header .login-logo svg{color:hsla(0,0%,100%,.5)}[data-theme=dark] #login-screen .login-form input{background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.2);color:var(--text-primary)}[data-theme=dark] #login-screen .login-form input:focus{background:hsla(0,0%,100%,.15)}[data-theme=dark] #login-screen .login-form input:hover:not(:focus){background:hsla(0,0%,100%,.12)}[data-theme=dark] #login-screen .login-form input::placeholder{color:var(--text-tertiary)}[data-theme=dark] #login-screen .glass-orb{opacity:.3}.app-nav{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);position:sticky;top:0;z-index:100;padding:var(--spacing-md);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}.app-nav .nav-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);padding:0 10px}.app-nav .nav-btn{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.app-nav .nav-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.app-nav .nav-btn:active{transform:translateY(0)}.app-nav .nav-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.app-nav .nav-btn{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:var(--text-primary);padding:var(--spacing-sm) var(--spacing-md);font-size:14px}.app-nav .nav-btn:hover{background:var(--bg-tertiary)}.app-nav .nav-btn.nav-btn-back{background:var(--bg-card)}.app-nav .nav-btn.nav-btn-logout{background:rgba(255,59,48,.2);color:var(--apple-red)}.app-nav .nav-btn.nav-btn-logout:hover{background:rgba(255,59,48,.3)}.app-nav .nav-btn.nav-btn-new-entry{background:rgba(0,122,255,.15);color:var(--apple-blue);font-weight:600}.app-nav .nav-btn.nav-btn-new-entry:hover{background:rgba(0,122,255,.25)}.app-nav .user-display{text-align:right;font-size:12px;color:var(--text-secondary);margin-top:var(--spacing-xs);font-weight:500;margin-right:20px}.dashboard-container{max-width:600px;width:100%;margin:0 auto;padding:var(--spacing-lg);background:var(--bg-primary);min-height:100vh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding:15px}.dashboard-header{text-align:center;padding:var(--spacing-xl);background:linear-gradient(135deg, var(--apple-blue) 0%, var(--apple-blue-dark) 100%);border-radius:var(--radius-xl);color:#fff;margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.dashboard-header::before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);animation:shimmer 3s infinite}.dashboard-header h1{margin:0 0 var(--spacing-sm) 0;font-size:32px;font-weight:700;position:relative;z-index:1}.dashboard-header p{margin:var(--spacing-xs) 0;opacity:.95;position:relative;z-index:1}.dashboard-header .dashboard-date{font-size:14px;opacity:.85;margin-top:var(--spacing-sm);position:relative;z-index:1}@keyframes shimmer{0%{transform:translate(0, 0)}50%{transform:translate(10%, 10%)}100%{transform:translate(0, 0)}}.theme-toggle{position:absolute;top:var(--spacing-md);right:var(--spacing-md);z-index:2}.theme-toggle button{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.theme-toggle button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.theme-toggle button:active{transform:translateY(0)}.theme-toggle button:disabled{opacity:.5;cursor:not-allowed;transform:none}.theme-toggle button{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);background:hsla(0,0%,100%,.3);color:#fff;padding:var(--spacing-sm) var(--spacing-md);font-size:14px}.theme-toggle button:hover{background:hsla(0,0%,100%,.4)}.forms-grid{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-md);transition:all var(--transition-fast)}.forms-grid:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.forms-grid{padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.forms-grid h2{margin:0 0 var(--spacing-lg) 0;font-size:20px;color:var(--text-primary);text-align:center;font-weight:600}.form-buttons{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--spacing-md)}.form-btn{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.form-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.form-btn:active{transform:translateY(0)}.form-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.form-btn{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);padding:var(--spacing-lg);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);position:relative;overflow:hidden}.form-btn::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg, var(--btn-color, var(--apple-blue)), var(--btn-color-dark, var(--apple-blue-dark)))}.form-btn .form-btn-icon{font-size:36px}.form-btn .form-btn-text{font-size:16px;font-weight:600;color:var(--text-primary)}.form-btn .form-btn-count{font-size:24px;font-weight:700;color:var(--btn-color, var(--apple-blue));margin-top:var(--spacing-xs)}.form-btn[data-table=tblVitals]{--btn-color: #ff6b61;--btn-color-dark: #ff3b30}.form-btn[data-table=tblCharge]{--btn-color: #ffb340;--btn-color-dark: #ff9500}.form-btn[data-table=tblTravel]{--btn-color: #5AC8FA;--btn-color-dark: #007AFF}.form-btn[data-table=tblBrew]{--btn-color: #7b75e0;--btn-color-dark: #5856d6}.sync-section{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-md);transition:all var(--transition-fast)}.sync-section:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.sync-section{padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);text-align:center}.sync-btn{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.sync-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.sync-btn:active{transform:translateY(0)}.sync-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.sync-btn{background:linear-gradient(135deg, var(--apple-green-light) 0%, var(--apple-green) 100%);color:#fff;padding:var(--spacing-lg) var(--spacing-xl);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-md)}.sync-btn.syncing{animation:pulse 1.5s infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.7}}.sync-icon{font-size:20px}.sync-status{margin:var(--spacing-md) 0 0 0;font-size:14px;color:var(--text-secondary);font-weight:500}.sync-status.syncing{color:var(--apple-blue)}.sync-status.success{color:var(--apple-green)}.sync-status.error{color:var(--apple-red)}.logout-section{text-align:center;padding:var(--spacing-lg)}.logout-btn{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.logout-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.logout-btn:active{transform:translateY(0)}.logout-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.logout-btn{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:var(--apple-red);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-lg);font-size:16px;font-weight:600}.logout-btn:hover{background:rgba(255,59,48,.2)}.container{padding:var(--spacing-lg);max-width:600px;margin:0 auto;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding:15px;width:100%}.btn-new-entry{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-new-entry:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-new-entry:active{transform:translateY(0)}.btn-new-entry:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-new-entry{background:linear-gradient(135deg, var(--apple-green-light) 0%, var(--apple-green) 100%);color:#fff;width:100%;padding:var(--spacing-lg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-md);font-size:16px;font-weight:600}.btn-all-records{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-all-records:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-all-records:active{transform:translateY(0)}.btn-all-records:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-all-records{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:var(--text-primary);width:100%;padding:var(--spacing-lg);border-radius:var(--radius-lg);margin:var(--spacing-md) 0;font-size:16px;font-weight:600}.btn-charts{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-charts:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-charts:active{transform:translateY(0)}.btn-charts:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-charts{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:var(--text-primary);width:100%;padding:var(--spacing-lg);border-radius:var(--radius-lg);margin:var(--spacing-md) 0;font-size:16px;font-weight:600}.btn-charts .charts-icon{font-size:20px;margin-right:var(--spacing-sm)}.btn-back-calendar{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-back-calendar:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-back-calendar:active{transform:translateY(0)}.btn-back-calendar:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-back-calendar{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:var(--text-primary);width:100%;padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:14px}#calendar-view{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-md);transition:all var(--transition-fast)}#calendar-view:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}#calendar-view{padding:var(--spacing-lg);margin:var(--spacing-md) 0}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding:0 var(--spacing-xs)}.calendar-month-year{font-size:18px;font-weight:600;color:var(--text-primary);margin:0;text-align:center;flex:1}.calendar-nav-btn{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.calendar-nav-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.calendar-nav-btn:active{transform:translateY(0)}.calendar-nav-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.calendar-nav-btn{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:var(--text-primary);width:40px;height:40px;border-radius:var(--radius-round);font-size:18px;flex-shrink:0}.calendar-grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:4px;width:100%}.calendar-day-header{text-align:center;font-weight:600;color:var(--text-secondary);padding:var(--spacing-sm);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.calendar-days{display:contents}.calendar-day{border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:var(--spacing-xs);min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden;background:var(--bg-tertiary)}.calendar-day:hover{background:var(--bg-card);transform:scale(1.05);border-color:var(--apple-blue)}.calendar-day.other-month{background:var(--bg-tertiary);color:var(--text-tertiary);opacity:.5}.calendar-day.today{border:2px solid var(--apple-blue);background:rgba(0,122,255,.1)}.calendar-day-number{font-size:14px;font-weight:600;margin-bottom:var(--spacing-xs);flex-shrink:0;color:var(--text-primary)}.calendar-day-hearts{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;align-items:center;max-width:100%}.legend-icon{font-size:14px;cursor:pointer;transition:transform var(--transition-fast);flex-shrink:0}.legend-icon:hover{transform:scale(1.3)}.table-icon-vitals{color:var(--apple-red)}.table-icon-charge{color:var(--apple-orange)}.table-icon-travel{color:var(--apple-blue)}.table-icon-brew{color:var(--apple-purple)}#charts-screen .charts-container{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-md);transition:all var(--transition-fast)}#charts-screen .charts-container:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}#charts-screen .charts-container{padding:var(--spacing-lg);margin:var(--spacing-md) 0}#charts-screen .chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-sm)}#charts-screen .chart-title{font-size:24px;font-weight:700;color:var(--text-primary)}#charts-screen .chart-controls{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}#charts-screen .chart-controls button{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}#charts-screen .chart-controls button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}#charts-screen .chart-controls button:active{transform:translateY(0)}#charts-screen .chart-controls button:disabled{opacity:.5;cursor:not-allowed;transform:none}#charts-screen .chart-controls button{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);padding:var(--spacing-sm) var(--spacing-md);font-size:12px;color:var(--text-primary)}#charts-screen .chart-controls button.active{background:var(--apple-blue);color:#fff}#charts-screen .chart-wrapper{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);min-height:300px;position:relative}#charts-screen .chart-canvas{width:100%;height:250px}#charts-screen .chart-stats{display:grid;grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}#charts-screen .stat-box{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);padding:var(--spacing-md);border-radius:var(--radius-md);text-align:center}#charts-screen .stat-box .stat-label{font-size:12px;color:var(--text-secondary);margin-bottom:var(--spacing-xs)}#charts-screen .stat-box .stat-value{font-size:18px;font-weight:700;color:var(--text-primary)}.charts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.charts-header h2{margin:0;font-size:24px;color:var(--text-primary)}.btn-print{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-print:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-print:active{transform:translateY(0)}.btn-print:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-print{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:var(--text-primary);padding:var(--spacing-sm) var(--spacing-md);font-size:14px}.btn-print .print-icon{font-size:16px}.btn-print:hover{background:var(--bg-card)}#records-list-container{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-md);transition:all var(--transition-fast)}#records-list-container:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}#records-list-container{padding:var(--spacing-lg);margin:var(--spacing-md) 0}.record-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-md);transition:all var(--transition-fast)}.record-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.record-card{padding:0;margin-bottom:var(--spacing-sm);border-left:4px solid var(--apple-gray);position:relative;display:flex;justify-content:space-between;overflow:hidden}.record-card.status-local{border-left-color:var(--apple-orange)}.record-card.status-synced{border-left-color:var(--apple-green)}.record-card .record-card-content{padding:5px}.record-card .record-card-right{height:100%;display:flex;flex-direction:column}.record-card .record-card-right .edit-btn,.record-card .record-card-right .delete-btn{border:none;padding:8px;font-size:18px;height:100%;transition:.4s all;cursor:pointer}.record-card .record-card-right .edit-btn:hover,.record-card .record-card-right .delete-btn:hover{transform:scale(1.1);box-shadow:var(--shadow-sm)}.record-card .record-card-right .edit-btn{background:var(--apple-blue);color:#fff}.record-card .record-card-right .delete-btn{background:var(--apple-red);color:#fff}.record-card .record-card-right .badge{font-size:11px;font-weight:600}.record-card .record-card-right .badge.badge-local{color:var(--apple-orange)}.record-card .record-card-right .badge.badge-synced{color:var(--apple-green)}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) 0;margin-top:var(--spacing-sm);flex-wrap:wrap}.page-btn{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.page-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.page-btn:active{transform:translateY(0)}.page-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.page-btn{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:var(--text-primary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:14px}.page-numbers{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;justify-content:center;align-items:center}.page-number-btn{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.page-number-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.page-number-btn:active{transform:translateY(0)}.page-number-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.page-number-btn{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:var(--text-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:14px;min-width:40px}.page-number-btn:hover{background:var(--apple-blue);color:#fff}.page-number-btn.active{background:var(--apple-blue);color:#fff;border-color:var(--apple-blue);font-weight:700}.page-ellipsis{color:var(--text-tertiary);padding:var(--spacing-xs);font-size:14px}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all var(--transition-normal);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.modal.hidden{opacity:0;visibility:hidden;pointer-events:none}.modal:not(.hidden){opacity:1;visibility:visible;pointer-events:auto}.modal-content{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);background:var(--bg-modal);border-radius:var(--radius-xl);width:90%;max-width:500px;max-height:80vh;overflow-y:auto;transform:scale(0.9);transition:transform var(--transition-normal)}.modal:not(.hidden) .modal-content{transform:scale(1)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--glass-border)}.modal-header h3{margin:0;color:var(--text-primary);font-size:20px;font-weight:600}.close-btn{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.close-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.close-btn:active{transform:translateY(0)}.close-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.close-btn{background:rgba(0,0,0,0);font-size:28px;color:var(--text-tertiary);padding:0;width:30px;height:30px}.close-btn:hover{color:var(--text-primary);background:rgba(0,0,0,.05)}.modal-body{padding:var(--spacing-lg)}.modal-footer{display:flex;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:1px solid var(--glass-border);justify-content:flex-end}.btn-primary{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg, var(--apple-blue) 0%, var(--apple-blue-dark) 100%);color:#fff;padding:var(--spacing-md) var(--spacing-lg)}.btn-secondary{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-secondary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary:active{transform:translateY(0)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:var(--text-primary);padding:var(--spacing-md) var(--spacing-lg)}.btn-danger{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-danger:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-danger:active{transform:translateY(0)}.btn-danger:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-danger{background:var(--apple-red);color:#fff;padding:var(--spacing-md) var(--spacing-lg)}.form-input{width:100%;padding:var(--spacing-md);margin:var(--spacing-xs) 0;border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:16px;background:var(--bg-tertiary);color:var(--text-primary);transition:all var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--apple-blue);box-shadow:0 0 0 3px rgba(0,122,255,.2);background:var(--bg-secondary)}.form-input[readonly]{background:var(--bg-tertiary);cursor:not-allowed}input[type=date],input[type=time],input[type=number]{-webkit-appearance:none;appearance:none}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}textarea.form-input{resize:vertical;min-height:80px;font-family:inherit}label{font-size:14px;color:var(--text-secondary);display:block;margin-bottom:var(--spacing-xs);font-weight:600}#permissions-modal .modal-content{max-width:800px;width:95%}#permissions-table-body tr{border-bottom:1px solid var(--glass-border);transition:background var(--transition-fast)}#permissions-table-body tr:hover{background:var(--bg-tertiary)}#permissions-table-body td{padding:var(--spacing-md);text-align:center;color:var(--text-primary)}#permissions-table-body td:first-child{text-align:left}.perm-checkbox{width:20px;height:20px;cursor:pointer;accent-color:var(--apple-blue)}.perm-checkbox:disabled{opacity:.5;cursor:not-allowed}#permissions-status{font-size:14px;font-weight:600;text-align:center;margin:var(--spacing-sm) 0 0 0}#permissions-status.success{color:var(--apple-green)}#permissions-status.error{color:var(--apple-red)}#permissions-status.saving{color:var(--apple-blue)}#admin-settings-btn{border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}#admin-settings-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}#admin-settings-btn:active{transform:translateY(0)}#admin-settings-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}#admin-settings-btn{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:var(--text-primary);width:100%;padding:var(--spacing-lg);border-radius:var(--radius-lg);margin:var(--spacing-md) 0;font-size:16px;font-weight:600}#sync-status{position:fixed;bottom:0;left:0;right:0;background:var(--glass-bg-dark);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border-dark);box-shadow:var(--glass-shadow);color:#fff;text-align:center;padding:var(--spacing-xs) var(--spacing-md);font-size:12px;z-index:999;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}select.form-input{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236e6e73' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}select.form-input:focus{outline:none;border-color:var(--apple-blue);box-shadow:0 0 0 3px rgba(0,122,255,.2);background:var(--bg-secondary)}select.form-input option{background:var(--bg-secondary);color:var(--text-primary);padding:8px}#charge-locations-screen .container{padding:var(--spacing-lg);max-width:600px;margin:0 auto;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}#charge-locations-screen h3{color:var(--text-primary);font-size:24px;font-weight:700;margin-bottom:var(--spacing-lg);text-align:center}#locations-list-container{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-md);transition:all var(--transition-fast)}#locations-list-container:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}#locations-list-container{padding:var(--spacing-lg);margin:var(--spacing-md) 0}#location-modal .modal-content{max-width:400px}#location-modal .form-input{width:100%;padding:var(--spacing-md);margin:var(--spacing-xs) 0;border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:16px;background:var(--bg-tertiary);color:var(--text-primary);transition:all var(--transition-fast)}#location-modal .form-input:focus{outline:none;border-color:var(--apple-blue);box-shadow:0 0 0 3px rgba(0,122,255,.2);background:var(--bg-secondary)}.form-input[data-field=EstPower]{transition:all var(--transition-fast)}.form-input[data-field=EstPower].calculated{background:rgba(52,199,89,.2) !important;border-color:var(--apple-green) !important}.charge-manual-info{font-size:12px;color:var(--text-secondary);margin-top:5px;padding:8px;background:rgba(0,122,255,.1);border-radius:var(--radius-sm);display:none}.charge-manual-info.show{display:block}@media(max-width: 480px){#login-screen{padding:var(--spacing-md)}#login-screen .login-card{padding:var(--spacing-lg)}#login-screen .login-header .login-logo{font-size:48px}#login-screen .login-header h1{font-size:24px}#login-screen .login-form .login-btn{padding:var(--spacing-md)}}@media(max-width: 400px){.form-buttons{grid-template-columns:1fr}.calendar-day{min-height:50px;padding:2px}.calendar-day-number{font-size:12px}.legend-icon{font-size:12px}.calendar-month-year{font-size:16px}.calendar-nav-btn{width:36px;height:36px;font-size:16px}#permissions-modal .modal-content{width:98%;max-width:none}#permissions-table-body td{padding:var(--spacing-sm);font-size:12px}.perm-checkbox{width:18px;height:18px}.chart-controls{justify-content:center}}@media(max-width: 350px){.calendar-day{min-height:45px}.calendar-day-header{font-size:10px;padding:var(--spacing-xs)}}@media print{.app-nav,.btn-back-calendar,.btn-print,.chart-controls,#sync-status,.modal,.dashboard-container,#login-screen,#dashboard-screen,#vitals-screen,.logout-section,.sync-section,.forms-grid,.stats-grid,.theme-toggle{display:none !important}#charts-screen{display:block !important;position:static;background:#fff;color:#000}#charts-screen .container{max-width:100%;padding:0;margin:0;display:flex;flex-direction:column;align-items:center}#charts-screen .container .charts-header{border-bottom:2px solid #000;padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-lg)}#charts-screen .container .charts-header h2{color:#000;font-size:18pt}#charts-screen .container .charts-container{width:70%;box-shadow:none;background:#fff;padding:0 !important}#charts-screen .container .charts-container .chart-wrapper{break-inside:avoid;page-break-inside:avoid;border:none;box-shadow:none;background:#fff;margin-bottom:var(--spacing-lg);padding:var(--spacing-md);padding:0 !important}#charts-screen .container .charts-container .chart-wrapper h3{color:#000;font-size:14pt;margin-bottom:var(--spacing-md);border-bottom:1px solid #ccc;padding-bottom:var(--spacing-sm)}#charts-screen .container .charts-container .chart-wrapper .chart-stats{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--spacing-md);margin-top:var(--spacing-md);page-break-inside:avoid}#charts-screen .container .charts-container .chart-wrapper .chart-stats .stat-box{border:none;padding:var(--spacing-md);text-align:center;background:#fff;box-shadow:none;padding:0}#charts-screen .container .charts-container .chart-wrapper .chart-stats .stat-box .stat-label{color:#666;font-size:10pt;text-transform:uppercase;letter-spacing:.5px}#charts-screen .container .charts-container .chart-wrapper .chart-stats .stat-box .stat-value{color:#000;font-size:16pt;font-weight:700;margin-top:var(--spacing-xs)}#charts-screen .container .charts-container .chart-wrapper canvas{max-width:100%;height:auto}#charts-screen .container .charts-container .charts-container::before{content:"Generated: " attr(data-print-date);display:block;font-size:10pt;color:#666;margin-bottom:var(--spacing-md);text-align:right}body{background:#fff;color:#000;font-size:12pt;line-height:1.5}@page{margin:1cm;@bottom-right{content:"Page " counter(page) " of " counter(pages);font-size:10pt;color:#666}}}@media print{.app-nav,.sync-section,.logout-section,#sync-status,.pagination,.btn-new-entry,.btn-all-records,.btn-charts,.edit-btn,.delete-btn,.theme-toggle{display:none !important}body{background:#fff;color:#000}.record-card{box-shadow:none;border:1px solid #ccc}}/*# sourceMappingURL=pss.css.map */