:root{--color-primary: #000000;--color-secondary: #666666;--color-background: #ffffff;--color-surface: #f5f5f5;--color-border: #e0e0e0;--color-text: #333333;--color-text-light: #666666;--color-error: #d32f2f;--color-success: #388e3c;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;min-height:100vh;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-background);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.hidden{display:none!important}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--spacing-md)}.spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.redirect{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:var(--font-size-lg);color:var(--color-text-light)}.app-container{max-width:1200px;margin:0 auto;padding:var(--spacing-md)}.professional-header{background-color:var(--color-surface);padding:var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm)}.professional-info h1{font-size:var(--font-size-2xl);font-weight:600;margin-bottom:var(--spacing-xs);color:var(--color-primary)}.professional-info p{font-size:var(--font-size-lg);color:var(--color-text-light)}.place-info{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.place-info p{color:var(--color-text-light);font-size:var(--font-size-sm)}.other-agendas{background-color:var(--color-surface);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.other-agendas label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--color-text)}.other-agendas select{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);background-color:var(--color-background);cursor:pointer;transition:border-color var(--transition-fast)}.other-agendas select:hover{border-color:var(--color-primary)}.shift-selector{margin-bottom:var(--spacing-lg)}.shift-selector h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);font-weight:600}.shifts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md)}.shift-card{background-color:var(--color-surface);padding:var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.shift-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.shift-card.selected{background-color:var(--color-primary);color:var(--color-background);border-color:var(--color-primary)}.shift-card h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-xs)}.shift-card p{font-size:var(--font-size-sm);opacity:.8}.shift-card .shift-days{margin-top:var(--spacing-xs);font-size:var(--font-size-sm)}.service-selector{margin-bottom:var(--spacing-lg)}.service-selector h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);font-weight:600}.service-selector select{width:100%;padding:var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background-color:var(--color-background);cursor:pointer;transition:border-color var(--transition-fast)}.service-selector select:hover{border-color:var(--color-primary)}.calendar-navigation{display:flex;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.btn-nav{flex:1;padding:var(--spacing-md);background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-base);font-weight:600;transition:all var(--transition-fast)}.btn-nav:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-background);border-color:var(--color-primary)}.btn-nav:disabled{opacity:.4;cursor:not-allowed}.slots-section{margin-bottom:var(--spacing-xl)}.slots-section h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);font-weight:600}.slots-calendar{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.day-column{background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.day-header{text-align:center;padding:var(--spacing-md);background-color:var(--color-primary);color:var(--color-background);border-bottom:2px solid var(--color-border)}.day-header .day-name{font-size:var(--font-size-base);font-weight:700;margin-bottom:4px}.day-header .day-date{font-size:var(--font-size-sm);opacity:.9}.day-slots{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm)}.slot-button{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-base);font-weight:500;transition:all var(--transition-fast);text-align:center}.slot-button:hover{background-color:var(--color-primary);color:var(--color-background);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}@media(max-width:768px){.slots-calendar{grid-template-columns:repeat(3,1fr);gap:var(--spacing-xs)}.day-header{padding:var(--spacing-sm)}.day-header .day-name{font-size:var(--font-size-sm)}.day-header .day-date{font-size:var(--font-size-xs)}.day-slots{padding:var(--spacing-xs)}.slot-button{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-sm)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:var(--color-background);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:500px;width:90%;position:relative}.close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-light);cursor:pointer;line-height:1;transition:color var(--transition-fast)}.close:hover{color:var(--color-primary)}.modal-content h2{margin-bottom:var(--spacing-md);font-size:var(--font-size-xl)}#selected-info{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background-color:var(--color-surface);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--color-text)}.form-group input{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);transition:border-color var(--transition-fast)}.form-group input:focus{outline:none;border-color:var(--color-primary)}.form-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.btn-cancel,.btn-confirm{flex:1;padding:var(--spacing-md);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-cancel{background-color:var(--color-surface);color:var(--color-text)}.btn-cancel:hover{background-color:var(--color-border)}.btn-confirm{background-color:var(--color-primary);color:var(--color-background)}.btn-confirm:hover{opacity:.9;transform:translateY(-1px);box-shadow:var(--shadow-md)}.toast{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-primary);color:var(--color-background);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:2000;animation:slideIn var(--transition-base)}.toast.error{background-color:var(--color-error)}.toast.success{background-color:var(--color-success)}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:768px){.app-container{padding:var(--spacing-sm)}.professional-header{padding:var(--spacing-md)}.shifts-grid{grid-template-columns:1fr}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.modal-content{width:95%;padding:var(--spacing-lg)}}.receipt-container{max-width:600px;margin:var(--spacing-xl) auto;padding:var(--spacing-md)}.receipt-card{background-color:var(--color-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.receipt-header{background:linear-gradient(135deg,#388e3c,#2e7d32);color:#fff;padding:var(--spacing-xl) var(--spacing-lg);text-align:center}.success-icon{font-size:4rem;margin-bottom:var(--spacing-sm);animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.receipt-header h2{font-size:var(--font-size-2xl);font-weight:600;margin-bottom:var(--spacing-xs)}.receipt-header p{font-size:var(--font-size-base);opacity:.95}.receipt-body{padding:var(--spacing-lg)}.receipt-section{padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-border)}.receipt-section:last-child{border-bottom:none}.receipt-section h3{font-size:var(--font-size-sm);color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs);font-weight:500}.receipt-section p{font-size:var(--font-size-lg);color:var(--color-text);font-weight:500}.receipt-section small{display:block;font-size:var(--font-size-sm);color:var(--color-text-light);margin-top:.25rem}.receipt-footer{padding:var(--spacing-lg);background-color:var(--color-surface);text-align:center}.btn-share{width:100%;max-width:400px;padding:var(--spacing-md);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:600;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-md)}.btn-share:hover{background-color:var(--color-secondary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-share:active{transform:translateY(0)}.receipt-footer small{display:block;color:var(--color-text-light);font-size:var(--font-size-sm)}@media print{.receipt-container{margin:0;padding:0}.receipt-card{box-shadow:none}.receipt-footer{display:none}.receipt-header{background:#388e3c!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media(max-width:768px){.receipt-container{margin:var(--spacing-md) auto;padding:var(--spacing-sm)}.receipt-header{padding:var(--spacing-lg) var(--spacing-md)}.success-icon{font-size:3rem}.receipt-header h2{font-size:var(--font-size-xl)}.receipt-body{padding:var(--spacing-md)}.receipt-section{padding:var(--spacing-sm) 0}.btn-share{font-size:var(--font-size-base)}}
