:root{--primary-blue: #2563EB;--primary-blue-hover: #1D4ED8;--text-accent: #2563EB;--primary-yellow: #2563EB;--primary-yellow-hover: #1D4ED8;--bg-body: #F4F4F5;--bg-html: #F4F4F5;--text-main: #111827;--text-muted: #6B7280;--text-secondary: #4B5563;--glass-bg: #FFFFFF;--glass-border: #E5E7EB;--glass-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--card-hover-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--sidebar-bg: #FFFFFF;--nav-hover: #F3F4F6;--nav-active-bg: #EFF6FF;--nav-active-text: #2563EB;--form-bg: #FFFFFF;--form-border: #D1D5DB;--form-focus-bg: #FFFFFF;--form-focus-ring: rgba(37, 99, 235, .2);--btn-sec-bg: #F3F4F6;--btn-sec-border: #E5E7EB;--btn-sec-hover: #E5E7EB;--btn-sec-border-hover: #D1D5DB;--table-border: #E5E7EB;--td-bg: #FFFFFF;--td-hover: #F9FAFB;--page-title-gradient: #111827;--mobile-topbar-bg: #FFFFFF;--sidebar-mobile-bg: #FFFFFF;--calendar-day-bg: #F9FAFB;--calendar-day-selected-border: #2563EB;--calendar-day-selected-bg: #EFF6FF;--calendar-day-selected-shadow: none;--pdf-modal-bg: rgba(17, 24, 39, .7);--pdf-card-bg: #FFFFFF}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow:hidden!important;width:100%!important;height:100vh!important;max-width:100vw!important;margin:0;padding:0;position:relative;background-color:var(--bg-html)!important}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg-body);color:var(--text-main);line-height:1.5}body:before{display:none}.app-layout{display:flex;height:100vh;width:100%;overflow:hidden;position:relative}.main-content{flex:1;padding:2rem;overflow-y:auto;position:relative;z-index:1;min-width:0;width:100%;max-width:100vw;box-sizing:border-box;display:flex;flex-direction:column}.sidebar{width:260px;height:100vh;background:var(--sidebar-bg);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;z-index:10;transition:width .3s ease}.sidebar.collapsed{width:80px}.sidebar-header{padding:1.5rem;border-bottom:1px solid var(--glass-border)}.sidebar-header h2{color:var(--text-main);font-size:1.5rem;font-weight:800;letter-spacing:-.5px}.sidebar-nav{padding:1rem 0;flex:1;display:flex;flex-direction:column;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;margin:.1rem .75rem;color:var(--text-main);text-decoration:none;transition:all .2s ease;border-radius:8px;font-weight:600;font-size:.875rem}.nav-item:hover{background:var(--nav-hover);color:var(--text-main)}.nav-item.active{background:var(--primary-blue);color:#fff;font-weight:600;box-shadow:0 4px 10px #2563eb40}.sidebar.collapsed .nav-item{justify-content:center;padding:.5rem;margin:.25rem .5rem}.sidebar.collapsed .nav-item span,.sidebar.collapsed .sidebar-header-text,.sidebar.collapsed .sidebar-modulos-text,.sidebar.collapsed .sidebar-footer-text{display:none}.sidebar.collapsed .sidebar-header{justify-content:center;padding:1.5rem 0}.card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:1.5rem;box-shadow:var(--glass-shadow);margin-bottom:1.5rem;transition:transform .2s ease,box-shadow .2s ease;min-width:0}.card:hover{transform:translateY(-2px);box-shadow:var(--card-hover-shadow)}.page-header{margin-bottom:2rem}.page-title{font-size:1.8rem;font-weight:700;margin-bottom:.5rem;color:var(--page-title-gradient)}.page-subtitle{color:var(--text-muted)}.form-group{margin-bottom:1.25rem}.form-grid-2{display:grid;grid-template-columns:1fr 2fr;gap:1rem;align-items:start}.form-grid-equal{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-muted);font-size:.9rem}.form-control{width:100%;max-width:100%;box-sizing:border-box!important;padding:.85rem 1rem;background:var(--form-bg);border:1px solid var(--form-border);border-radius:8px;color:var(--text-main);font-family:inherit;font-size:16px;transition:all .3s ease}input[type=date].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--text-main)}.form-control:focus{outline:none;border-color:var(--primary-blue);background:var(--form-focus-bg);box-shadow:0 0 0 3px var(--form-focus-ring)}textarea.form-control{resize:vertical;min-height:100px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;border:none;transition:all .3s ease;font-family:inherit}.btn-primary{background:var(--primary-blue);color:#fff;box-shadow:0 2px 4px #2563eb33}.btn-primary:hover{background:var(--primary-blue-hover);transform:translateY(-1px);box-shadow:0 4px 6px #2563eb4d}.btn-secondary{background:var(--btn-sec-bg);color:var(--text-main);border:1px solid var(--btn-sec-border)}.btn-secondary:hover{background:var(--btn-sec-hover);border-color:var(--btn-sec-border-hover)}.btn-danger{background:#dc354526;color:#ff6b6b;border:1px solid rgba(220,53,69,.3)}.btn-danger:hover{background:#dc354540}.btn-sm{padding:.4rem .8rem;font-size:.875rem}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:1rem;text-align:left;border-bottom:1px solid var(--table-border)}th{color:var(--text-muted);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;border-bottom:1px solid var(--glass-border);background:var(--glass-bg);position:sticky;top:0;z-index:10}td{background:var(--td-bg)}tr:hover td{background:var(--td-hover)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:1rem}.calendar-header-day{text-align:center;font-size:.75rem;color:var(--text-muted);font-weight:600;padding:.5rem 0}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--calendar-day-bg);border:1px solid transparent;font-size:.9rem;position:relative;transition:all .2s}.calendar-day.active{background:#eff6ff;border-color:#2563eb;color:#1d4ed8;font-weight:700}.calendar-day.programmed{background:#fdf4ff;border-color:#c026d3;color:#a21caf;font-weight:700}.calendar-day.selected{border:2px dashed var(--calendar-day-selected-border);background:var(--calendar-day-selected-bg);box-shadow:var(--calendar-day-selected-shadow)}.calendar-day.empty{background:transparent}.flex{display:flex}.stack-on-mobile{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.gap-2{gap:.5rem}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.text-center{text-align:center}.text-yellow{color:var(--primary-yellow)}.mobile-topbar{display:none;align-items:center;justify-content:space-between;padding:1rem;background:var(--mobile-topbar-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--glass-border);position:sticky;top:0;z-index:20}.mobile-topbar-title{color:var(--text-main);font-size:1.2rem;font-weight:800;margin:0}.hamburger-btn{background:transparent;border:none;color:var(--text-main);cursor:pointer;padding:.5rem}@media (max-width: 1024px){.app-layout{display:flex;flex-direction:column;width:100vw;height:100vh;overflow:hidden}.mobile-topbar{display:flex!important}.form-grid-2,.form-grid-equal{grid-template-columns:1fr!important}.stack-on-mobile,.page-header-mobile{flex-direction:column!important;align-items:flex-start!important;gap:1rem!important}.sidebar{position:fixed;top:0;left:-100%;height:100vh;width:280px;transition:left .3s ease;z-index:100;background:var(--sidebar-mobile-bg);box-shadow:4px 0 24px #00000080}.sidebar.open{left:0}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:90}.main-content{padding:.75rem;width:100%;max-width:100vw;box-sizing:border-box}}html,body{overflow:hidden!important;position:relative;width:100%;height:100vh;margin:0;padding:0}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--pdf-modal-bg);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem}.pdf-modal-container{width:95%;max-width:1000px;height:90vh;background:var(--pdf-card-bg);border:1px solid var(--glass-border);border-radius:12px;display:flex;flex-direction:column;padding:1.5rem;box-shadow:0 25px 50px -12px #00000080;position:relative}.pdf-container{flex:1;width:100%;background:#fff;border-radius:8px;overflow:hidden;margin-bottom:1.5rem}.pdf-container iframe{width:100%;height:100%;border:none}select.form-control,select.form-select,.form-control select{-moz-appearance:none!important;appearance:none!important;-webkit-appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right .75rem center!important;background-size:1rem!important;padding-right:2.5rem!important}.scroll-hint{display:none}@media (max-width: 1024px){html,body{overflow:hidden!important;height:100vh}body.modal-open{position:fixed;width:100%;height:100%;overflow:hidden}.main-content-container{padding:.75rem!important}.pdf-modal-container{width:100%;height:100%;border-radius:0;padding:.75rem}.pdf-container{margin-bottom:.75rem}.scroll-hint{display:block;text-align:right;font-size:.7rem;color:var(--primary-blue);margin-bottom:.25rem;opacity:.8;animation:pulse 2s infinite}.stack-on-mobile{flex-direction:column!important;align-items:stretch!important;width:100%!important}.w-100-mobile{width:100%!important;flex:none!important}.calendar-header-actions{flex-direction:column!important;gap:.75rem!important;width:100%!important}.calendar-header-actions .form-control{width:100%!important;max-width:none!important}.modal-actions{display:flex!important;flex-direction:column!important;gap:.5rem!important}.modal-actions button,.modal-actions a{width:100%!important}.table-container{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;width:100%!important;max-width:100vw!important;display:block!important}}@keyframes pulse{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}
