@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--primary-h: 217;--primary-s: 91%;--primary-l: 60%;--primary: hsl(var(--primary-h), var(--primary-s), var(--primary-l));--primary-dark: hsl(var(--primary-h), var(--primary-s), 45%);--primary-light: hsl(var(--primary-h), var(--primary-s), 95%);--accent-h: 162;--accent-s: 82%;--accent-l: 40%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--bg-page: #f8fafc;--bg-card: #ffffff;--text-main: #1e293b;--text-muted: #64748b;--border-light: #e2e8f0;--font-heading: "Outfit", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen, ubuntu, cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-body: "Inter", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen, ubuntu, cantarell, "Open Sans", "Helvetica Neue", sans-serif;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .3);--glass-blur: blur(12px);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-premium: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-body);background-color:var(--bg-page);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;letter-spacing:-.02em}.glass-panel{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-md)}.card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}button{font-family:var(--font-body);font-weight:600;padding:10px 20px;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px hsla(var(--primary-h),var(--primary-s),var(--primary-l),.3)}.btn-secondary{background-color:#fff;border:1px solid var(--border-light);color:var(--text-main)}.btn-secondary:hover{background-color:var(--primary-light);border-color:var(--primary);color:var(--primary-dark)}input,select,textarea{font-family:var(--font-body);padding:12px 16px;border-radius:var(--radius-sm);border:1.5px solid var(--border-light);background-color:#fff;transition:all .2s ease;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px hsla(var(--primary-h),var(--primary-s),var(--primary-l),.1)}.app-container{display:flex;height:100vh;overflow:hidden}.sidebar{width:280px;flex-shrink:0;background-color:#fff;border-right:1px solid var(--border-light);display:flex;flex-direction:column;z-index:10;transition:transform .3s ease}.main-content{flex:1;overflow-y:auto;padding:25px;background-color:var(--bg-page)}.mobile-toolbar{display:none}@media(max-width:1024px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}.main-content{padding:15px}.mobile-toolbar{display:flex;padding:10px 15px;background:#fff;border-bottom:1px solid var(--border-light);align-items:center;gap:10px;position:sticky;top:60px;z-index:50}}@media(max-width:1024px){.mobile-only{display:inline-flex!important}.desktop-only{display:none!important}}@media(min-width:1025px){.mobile-only{display:none!important}.desktop-only{display:inline-flex!important}}@media(max-width:768px){header{flex-direction:column;padding:15px!important;gap:15px;height:auto!important}header>div{width:100%;justify-content:space-between}.toolbar{flex-direction:column;align-items:stretch!important}.grid-day-row{flex-direction:column!important;gap:10px!important}.day-header{width:100%!important;flex-direction:row!important;justify-content:space-between;align-items:center;border-bottom:2px solid var(--border-light);padding-bottom:10px}.slots-container{grid-template-columns:1fr!important}.modal-overlay>div{width:95vw!important;padding:20px!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:5}.sidebar-overlay.open{display:block}:root{--pgcps-blue: #256AB4;--pgcps-gold: #FFCF07;--pgcps-lightblue: #8FC7EB;--pgcps-red: #D04B2D;--pgcps-green: #A5D16D;--pgcps-gray: #ABB2B7;--pgcps-text: #333333;--bg-color: #f4f6f9}html,body,#root,.App{height:100%;margin:0;font-family:Open Sans,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--bg-color);color:var(--pgcps-text)}header{background-color:var(--pgcps-blue);color:#fff;padding:15px 20px;box-shadow:0 2px 4px #0000001a;border-bottom:4px solid var(--pgcps-gold)}h1{font-weight:700;letter-spacing:.5px}button{font-family:inherit;font-weight:600;transition:all .2s}button:hover{opacity:.9;transform:translateY(-1px)}*{box-sizing:border-box}.rbc-calendar{background-color:#fff;border-radius:4px;border:none}.rbc-toolbar{margin-bottom:20px}.rbc-toolbar button{color:var(--pgcps-text);border:1px solid #ddd}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-color:var(--pgcps-blue);color:#fff;border-color:var(--pgcps-blue)}.rbc-event{box-shadow:0 1px 2px #0000001a}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:radial-gradient(circle at top left,#f1f5f9,#e2e8f0);padding:20px}.auth-form{background:var(--bg-card);padding:48px;border-radius:var(--radius-lg);box-shadow:var(--shadow-premium);width:100%;max-width:440px;text-align:center;border:1px solid var(--border-light)}.auth-form h2{color:var(--text-main);margin-bottom:12px;font-size:2.2rem;font-family:var(--font-heading)}.auth-form p{color:var(--text-muted);margin-bottom:32px;font-weight:500}.auth-error{background:#fef2f2;color:#991b1b;padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:24px;font-size:.9rem;border:1px solid #fee2e2;display:flex;align-items:center;gap:8px;justify-content:center}.form-group{text-align:left;margin-bottom:24px}.form-group label{display:block;margin-bottom:10px;color:var(--text-main);font-weight:600;font-size:.95rem}.auth-button{width:100%;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;margin-top:12px;box-shadow:0 4px 12px hsla(var(--primary-h),var(--primary-s),var(--primary-l),.2)}.auth-button:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 6px 16px hsla(var(--primary-h),var(--primary-s),var(--primary-l),.3)}.auth-footer{margin-top:32px;font-size:.95rem;color:var(--text-muted)}.auth-footer button{background:none;border:none;color:var(--primary);font-weight:700;cursor:pointer;padding:0;margin-left:6px;transition:color .2s}.auth-footer button:hover{color:var(--primary-dark);text-decoration:underline}.user-profile{display:flex;align-items:center;gap:16px;padding:6px 14px;background:#ffffff80;border-radius:var(--radius-md);border:1px solid var(--border-light)}.user-name{font-weight:600;color:var(--text-main);font-size:.9rem}.logout-link{background:#fff;border:1px solid var(--border-light);padding:6px 12px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.logout-link:hover{background:#f1f5f9;color:var(--primary-dark);border-color:var(--primary)}@media(max-width:480px){.auth-form{padding:30px 20px}.auth-form h2{font-size:1.8rem}.user-profile{padding:4px 8px;gap:8px}}
