@import"https://fonts.cdnfonts.com/css/source-sans-pro";*{margin:0;padding:0;box-sizing:border-box}html,body,#root{min-height:100%;width:100%}html,body{overflow-x:hidden}body{background:#f7f9fc}img,svg,video,canvas{max-width:100%}button,input,select,textarea{font:inherit}.main-content{padding-top:90px;min-height:calc(100vh - 90px);width:100%;min-width:0}@media(max-width:768px){.main-content{padding-top:80px;min-height:calc(100vh - 80px)}}@media(max-width:576px){.main-content{padding-top:70px;min-height:calc(100vh - 70px)}}.navbar{background-color:#fff;box-shadow:0 2px 10px #0000001a;height:70px;left:0;position:fixed;top:0;width:100%;z-index:1000;display:flex;align-items:center;padding:0 15px;min-width:0}.main-content{padding-top:90px;min-height:calc(100vh - 90px)}.nav-placeholder{display:flex;justify-content:space-between;align-items:center;width:100%}.navbar-logo{height:45px;transition:transform .3s ease}.navbar-logo:hover{transform:scale(1.05)}.nav-right{display:flex;margin:0 auto;min-width:0}.nav-links{display:flex;gap:20px;align-items:center;margin-right:10px}.nav-links a{color:#2681c4;text-decoration:none;font-weight:600;font-size:16px;padding:8px 12px;border-radius:25px;transition:all .3s ease;position:relative}.nav-links a:hover{color:#fff;background-color:#2681c4;transform:translateY(-2px)}.nav-links a:after{content:"";position:absolute;width:0;height:2px;bottom:0;left:50%;background-color:#2681c4;transition:all .3s ease}.nav-links a:hover:after{width:80%;left:10%}.nav-links a.active{color:#fff;background-color:#1a5a8c}.nav-badge{background-color:#e74c3c;color:#fff;border-radius:50%;padding:2px 6px;font-size:12px;position:absolute;top:-5px;right:-5px}.nav-toggle{display:none;flex-direction:column;cursor:pointer;gap:4px}.nav-toggle span{width:25px;height:3px;background-color:#2681c4;transition:all .3s ease}@media(max-width:768px){.navbar{padding:0 12px;height:60px}.main-content{padding-top:80px;min-height:calc(100vh - 80px)}.nav-toggle{display:flex}.nav-links{position:fixed;top:60px;left:0;width:100%;background-color:#fff;flex-direction:column;padding:20px;gap:15px;box-shadow:0 5px 10px #0000001a;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease;z-index:999;margin-right:0}.nav-links.active{transform:translateY(0);opacity:1;visibility:visible}.nav-links a{width:100%;text-align:center;padding:12px;border-radius:8px}.navbar-logo{height:40px}.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}}@media(max-width:576px){.navbar{height:60px;padding:0 8px}.main-content{padding-top:70px;min-height:calc(100vh - 70px)}.navbar-logo{height:35px}.nav-links a{font-size:14px;padding:10px}}.notifications-container{position:relative}.notifications-btn{background:none;border:none;font-size:20px;cursor:pointer;padding:8px 10px;border-radius:50%;transition:all .3s ease;position:relative;display:flex;align-items:center;justify-content:center;width:42px;height:42px}.notifications-btn:hover{background:#f0f7ff;transform:scale(1.1)}.notifications-btn.active{background:#e8f4fd}.notifications-badge{position:absolute;top:2px;right:2px;background:#e74c3c;color:#fff;border-radius:50%;width:18px;height:18px;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:600;border:2px solid white}.notifications-menu{position:absolute;top:100%;right:-10px;background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000026;width:320px;max-height:500px;z-index:1000;margin-top:10px;overflow:hidden;border:1px solid #e1e5e9;animation:fadeIn .3s ease}.notifications-header{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:1px solid #eee}.notifications-header h3{margin:0 0 5px;color:#2c3e50;font-size:17px}.notifications-count{font-size:12px;color:#7f8c8d;font-weight:600}.notifications-list{max-height:350px;overflow-y:auto}.notification-item{display:flex;padding:14px 18px;border-bottom:1px solid #f8f9fa;transition:background-color .3s ease;align-items:flex-start;gap:12px;position:relative}.notification-item:hover{background:#f8f9fa}.notification-item.not-read{background:#f0f7ff}.notification-item.read{opacity:.8}.no-notifications{padding:10px}.notification-icon{font-size:18px;flex-shrink:0;margin-top:2px}.notification-content{flex:1}.notification-content h4{margin:0 0 5px;color:#2c3e50;font-size:14px}.notification-content p{margin:0 0 5px;color:#7f8c8d;font-size:13px;line-height:1.4}.notification-date{font-size:11px;color:#95a5a6}.notification-point{position:absolute;right:12px;top:14px;width:8px;height:8px;background:#2681c4;border-radius:50%}.view-all-btn{width:100%;padding:14px;border:none;background:#f8f9fa;color:#2681c4;font-weight:600;cursor:pointer;transition:background-color .3s ease;font-size:14px}.view-all-btn:hover{background:#e8f4fd}.logout-btn{background:#c20101;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:5px 10px;transition:background-color .3s;width:150px}.delete-btn{background:none;border:none;cursor:pointer;font-size:1.2em;color:#2681c4;margin-left:"auto"}@media(max-width:768px){.notifications-menu{position:fixed;top:70px;right:10px;left:10px;width:auto;max-height:70vh}.notifications-btn{width:40px;height:40px}}.nav-links.active .notifications-container{order:-1;margin-left:auto;margin-right:5px}.nav-links.active .notifications-menu{position:fixed;top:140px;right:15px;left:15px}@media(min-width:769px){.navbar-logo{margin-left:5px}}.nav-links{min-width:0}.nav-links a{white-space:nowrap}.notifications-menu{max-width:calc(100vw - 20px)}.notification-content{min-width:0}.notification-content p{overflow-wrap:anywhere}.main-layout{display:flex;flex-direction:column;min-height:100vh;width:100%;min-width:0}.main-content{flex:1;padding-top:90px;width:100%;min-width:0}.dashboard-layout{display:block}.dashboard-content{padding-top:0}@media(max-width:768px){.main-content{padding-top:80px}}@media(max-width:576px){.main-content{padding-top:70px}}.gestiones-container{max-width:1400px;margin:0 auto;padding:20px;font-family:Source Sans Pro,sans-serif}.gestiones-header{margin-bottom:40px;padding-bottom:20px;border-bottom:2px solid #2681c4}.gestiones-header h1{color:#2c3e50;font-size:32px;margin:0 0 10px}.gestiones-grid{display:grid;grid-template-columns:280px 1fr;gap:30px}@media(max-width:992px){.gestiones-grid{grid-template-columns:1fr}}.gestiones-menu{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.menu-header{padding:20px;background:#f8f9fa;border-bottom:1px solid #e1e5e9}.menu-header h3{margin:0;color:#2c3e50;font-size:18px}.menu-items{display:flex;flex-direction:column}.menu-item{display:flex;align-items:center;gap:15px;padding:18px 20px;border:none;background:none;text-align:left;cursor:pointer;font-size:15px;color:#2c3e50;transition:all .3s ease;border-bottom:1px solid #f8f9fa}.menu-item:hover{background:#f8f9fa;color:#2681c4}.menu-item.active{background:#e8f4fd;color:#2681c4;font-weight:600;border-left:4px solid #2681c4}.menu-icon{font-size:20px}.gestiones-contenido{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:30px}.categoria-contenido h2{color:#2c3e50;font-size:24px;margin:0 0 30px}.btn-primario{background:#2681c4;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primario:hover{background:#1a5a8c;transform:translateY(-2px)}.informes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:20px}.info-card{background:#f8f9fa;border-radius:10px;padding:25px;border-top:4px solid #2681c4}.archivos-section{display:flex;flex-direction:column;gap:30px}.carga-archivo,.archivos-listados{background:#f8f9fa;border-radius:10px;padding:25px}.upload-area{text-align:center;padding:40px 20px;border:2px dashed #bdc3c7;border-radius:8px;margin:20px 0}.file-input{display:none}.upload-btn{background:#27ae60;color:#fff;padding:15px 30px;border-radius:8px;cursor:pointer;display:inline-block;font-weight:600;transition:background-color .3s}.upload-btn:hover{background:#219653}.upload-info{margin-top:10px;color:#7f8c8d;font-size:14px}.archivos-table{overflow-x:auto;margin-top:20px}.archivos-table table{width:100%;border-collapse:collapse}.archivos-table th{padding:15px;text-align:left;background:#fff;color:#2c3e50;font-weight:600;border-bottom:2px solid #e1e5e9}.archivos-table td{padding:12px 15px;border-bottom:1px solid #e1e5e9;color:#34495e}.btn-descargar{background:#27ae60;color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:14px}.compartir-section{display:grid;grid-template-columns:1fr 1fr;gap:30px}@media(max-width:768px){.compartir-section{grid-template-columns:1fr}}.contactos-grid{display:flex;flex-direction:column;gap:15px;margin:20px 0}.contacto-card{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#fff;border-radius:8px;border:1px solid #e1e5e9}.btn-agregar{width:100%;padding:12px;border:2px dashed #2681c4;background:#f8f9fa;color:#2681c4;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.btn-agregar:hover{background:#e8f4fd}.acceso-opciones{margin-top:20px}.acceso-item{margin-bottom:15px}.acceso-item label{display:flex;flex-direction:column;padding:15px;background:#fff;border-radius:8px;border:1px solid #e1e5e9;cursor:pointer}.acceso-item input{margin-right:10px}@media(max-width:768px){.gestiones-container{padding:15px}.gestiones-contenido{padding:20px}.informes-grid{grid-template-columns:1fr}}.patient-search{position:relative;width:100%;max-width:420px;min-width:0}.patient-search-input{align-items:center;background:#fff;border:1px solid #dbe3ee;border-radius:12px;display:flex;gap:10px;height:48px;padding:0 14px;transition:border-color .2s,box-shadow .2s}.patient-search-input:focus-within{border-color:#0b6be8;box-shadow:0 0 0 4px #0b6be814}.patient-search-input svg{color:#7b8798;height:18px;width:18px}.patient-search-input input{background:transparent;border:none;color:#273148;flex:1;font-size:14px;min-width:0;outline:none}.patient-search-input input::placeholder{color:#8a94a6}.patient-search-dropdown{position:absolute;top:calc(100% + 8px);left:0;width:100%;background:#fff;border:1px solid #e3eaf3;border-radius:14px;box-shadow:0 10px 30px #0f172a14;overflow:hidden;z-index:999}.patient-search-item{align-items:center;background:transparent;border:none;color:#273148;cursor:pointer;display:flex;justify-content:space-between;gap:12px;padding:14px 16px;transition:background .18s;width:100%}.patient-search-item>div{min-width:0}.patient-search-item strong,.patient-search-item small{overflow-wrap:anywhere}@media(max-width:900px){.patient-search{max-width:none}}.patient-search-item:hover{background:#f5f9ff}.patient-search-item strong{display:block;font-size:14px;font-weight:700}.patient-search-item small{color:#7b8798;display:block;margin-top:4px}.patient-search-item span{color:#0b6be8;font-size:12px;font-weight:600}.patient-search-empty{color:#7b8798;font-size:14px;padding:16px;text-align:center}.dashboard-shell{--dash-blue: #0b6be8;--dash-green: #078f68;--dash-ink: #141b2f;--dash-muted: #687386;--dash-line: #e1e7f0;--dash-bg: #f7f9fc;background:var(--dash-bg);color:var(--dash-ink);display:grid;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;grid-template-columns:280px minmax(0,1fr);min-height:100vh;overflow-x:clip;transition:grid-template-columns .3s ease;width:100%}.dashboard-shell.sidebar-open{grid-template-columns:280px minmax(0,1fr)}.dashboard-shell.sidebar-closed{grid-template-columns:0px minmax(0,1fr)}.dashboard-shell.doctor{--dash-accent: #0b6be8}.dashboard-shell.patient{--dash-accent: #078f68}.dashboard-shell svg{display:block;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.dashboard-sidebar{background:linear-gradient(180deg,#06264d,#021b3a);color:#fff;display:flex;flex-direction:column;min-height:100vh;padding:26px 14px;z-index:1000;transition:transform .3s ease,opacity .2s ease;min-width:0}.dashboard-sidebar.open{transform:translate(0);opacity:1;pointer-events:auto}.dashboard-sidebar.closed{transform:translate(-100%);opacity:0;pointer-events:none}.dashboard-sidebar.closed *{visibility:hidden}.dashboard-logo{align-items:center;color:#fff;display:flex;gap:14px;margin:0 18px 34px}.dashboard-logo svg{color:#62a4ff;height:34px;width:34px}.dashboard-logo span{font-size:25px;font-weight:850;letter-spacing:.12em}.dashboard-nav{display:flex;flex-direction:column;gap:8px}.dashboard-nav button,.dashboard-logout{align-items:center;background:transparent;border:0;border-radius:8px;color:#ffffffd6;cursor:pointer;display:flex;font:inherit;font-size:15px;gap:14px;justify-content:flex-start;min-height:48px;padding:0 16px;text-align:left;width:100%}.dashboard-nav button.active,.dashboard-nav button:hover{background:#0b6be8;color:#fff}.dashboard-nav svg,.dashboard-logout svg{height:22px;width:22px}.dashboard-nav b{align-items:center;background:#ef4444;border-radius:50%;display:flex;font-size:12px;height:24px;justify-content:center;margin-left:auto;width:24px}.dashboard-user-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;margin-top:auto;padding:18px}.avatar{align-items:center;background:#dfeafb;border-radius:50%;color:#1d4f91;display:inline-flex;flex:0 0 auto;font-weight:800;height:48px;justify-content:center;width:48px}.avatar.small{height:42px;width:42px}.dashboard-user-card .avatar{margin-bottom:12px}.dashboard-user-card strong,.dashboard-user-card span,.dashboard-user-card small{display:block}.dashboard-user-card span,.dashboard-user-card small{color:#ffffffb8;font-size:13px;margin-top:5px}.dashboard-logout{background:#ffffff1a;justify-content:center;margin-top:16px}.dashboard-main{min-width:0;width:100%}.dashboard-topbar{align-items:center;background:#fff;border-bottom:1px solid var(--dash-line);display:grid;gap:22px;grid-template-columns:44px auto minmax(280px,520px) auto;min-height:82px;padding:0 28px;position:relative;z-index:1100;min-width:0}.dashboard-topbar>div{min-width:0}.menu-btn,.topbar-actions button{align-items:center;background:transparent;border:0;color:var(--dash-ink);cursor:pointer;display:flex;justify-content:center}.menu-btn{position:relative;z-index:1200}.menu-btn svg{height:25px;width:25px}.dashboard-topbar h1{font-size:18px;margin:0 0 4px}.dashboard-topbar p{color:var(--dash-muted);font-size:13px;margin:0}.dashboard-search{align-items:center;border:1px solid var(--dash-line);border-radius:8px;display:grid;gap:10px;grid-template-columns:22px 1fr;padding:0 14px}.dashboard-search svg{color:#1f2937;height:20px;width:20px}.dashboard-search input{border:0;font:inherit;min-height:42px;min-width:0;outline:none}.topbar-actions{align-items:center;display:flex;gap:20px;justify-content:flex-end}.topbar-actions button{position:relative}.topbar-actions button svg{height:24px;width:24px}.topbar-actions button span{align-items:center;background:#ef4444;border-radius:50%;color:#fff;display:flex;font-size:11px;height:20px;justify-content:center;position:absolute;right:-8px;top:-8px;width:20px}.topbar-profile{align-items:center;display:flex;gap:12px}.topbar-profile strong,.topbar-profile small{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-profile small{color:var(--dash-muted)}.dashboard-toolbar,.stats-grid,.doctor-grid,.patient-hero,.patient-grid{margin-left:34px;margin-right:34px}.dashboard-toolbar{align-items:center;display:flex;justify-content:space-between;margin-top:28px}.date-controls,.toolbar-actions{align-items:center;display:flex;gap:10px}.date-controls button,.toolbar-actions button,.card-header button,.next-card button,.quick-action,.patient-hero button,.next-appointment-card button{align-items:center;background:#fff;border:1px solid var(--dash-line);border-radius:7px;color:#263247;cursor:pointer;display:inline-flex;font:inherit;font-size:14px;gap:8px;justify-content:center;min-height:38px;padding:0 16px}.primary-action,.next-card button{background:var(--dash-accent)!important;border-color:var(--dash-accent)!important;color:#fff!important}.patient-hero button{background:#00f;border-color:var(--dash-accent)!important;color:#fff!important;font-weight:700}.toolbar-actions svg,.patient-hero svg{height:18px;width:18px}.stats-grid{display:grid;gap:22px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:20px}.stat-card,.dashboard-card,.calendar-panel,.schedule-panel,.right-panel section{background:#fff;border:1px solid var(--dash-line);border-radius:10px;box-shadow:0 8px 20px #1224400a}.stat-card{align-items:center;display:grid;gap:18px;grid-template-columns:56px 1fr;min-width:0;padding:22px}.stat-card div{min-width:0}.stat-card p,.stat-card strong,.stat-card small{overflow-wrap:anywhere}.stat-card>span{align-items:center;background:#edf5ff;border-radius:50%;color:var(--dash-accent);display:flex;height:48px;justify-content:center;width:48px}.stat-card svg{height:25px;width:25px}.stat-card p,.stat-card small{color:var(--dash-muted);margin:0}.stat-card strong{display:block;font-size:26px;margin:2px 0}.doctor-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 280px;margin-top:22px;padding-bottom:34px}.schedule-panel,.right-panel,.patient-grid>*,.doctor-grid>*{min-width:0}.calendar-panel,.schedule-panel,.right-panel section{padding:18px}.calendar-panel h2,.right-panel h3,.dashboard-card h2{font-size:17px;margin:0 0 16px}.mini-calendar{display:grid;gap:9px;grid-template-columns:repeat(7,1fr);text-align:center}.mini-calendar b,.mini-calendar span{color:#606b7d;font-size:13px;padding:7px 0}.mini-calendar .selected{background:var(--dash-accent);border-radius:6px;color:#fff}.filter-box{border-top:1px solid var(--dash-line);display:flex;flex-direction:column;gap:12px;margin-top:24px;padding-top:18px}.filter-box h3{margin:0}.filter-box select{border:1px solid var(--dash-line);border-radius:7px;min-height:38px;padding:0 10px}.tabs{border-bottom:1px solid var(--dash-line);display:flex;gap:18px;margin-bottom:16px;overflow-x:auto;scrollbar-width:thin}.tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:#4b5563;cursor:pointer;font:inherit;flex:0 0 auto;padding:0 12px 12px}.tabs button.active{border-color:var(--dash-accent);color:var(--dash-accent)}.appointment-row{align-items:center;border:1px solid #edf1f7;border-left:4px solid var(--dash-accent);border-radius:8px;display:grid;gap:14px;grid-template-columns:70px 48px minmax(120px,1fr) minmax(180px,1.4fr) 100px 34px;margin-bottom:10px;padding:12px 14px}.appointment-row>div,.appointment-row time{min-width:0}.appointment-row strong,.appointment-row span{overflow-wrap:anywhere}.appointment-row time strong,.appointment-row time span,.appointment-row div strong,.appointment-row div span{display:block}.appointment-row span,.appointment-row time span{color:var(--dash-muted);font-size:13px;margin-top:4px}.appointment-row em{background:#eaf3ff;border-radius:999px;color:#0b5fc7;font-size:12px;font-style:normal;padding:6px 12px;text-align:center}.appointment-row em.pending{background:#fff3df;color:#b76b00}.appointment-row>button{background:transparent;border:0;cursor:pointer;font-size:22px}.right-panel{display:flex;flex-direction:column;gap:16px}.next-card{border:1px solid #edf1f7;border-radius:8px;padding:14px}.next-card p{font-weight:800;margin:12px 0 4px}.next-card span{color:var(--dash-muted);display:block;margin-bottom:16px}.quick-action{justify-content:flex-start;margin-bottom:8px;width:100%}.patient-hero{align-items:center;background:linear-gradient(135deg,#0b6be8,#bbb7fe);border-radius:16px;color:#fff;display:flex;justify-content:space-between;margin-top:28px;padding:30px;gap:18px}.patient-hero p,.patient-hero h2,.patient-hero span{margin:0}.patient-hero p{opacity:.86}.patient-hero h2{font-size:28px;margin:8px 0}.patient-hero span{color:#ffffffd1}.patient-stats .stat-card>span{background:#e9f8f2}.patient-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);margin-top:22px;padding-bottom:34px}.dashboard-card{padding:20px}.dashboard-card.large{grid-row:span 2}.card-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px;min-width:0}.card-header h2{margin:0;min-width:0;overflow-wrap:anywhere}.patient-list-row{align-items:center;border:1px solid #edf1f7;border-radius:8px;display:grid;gap:14px;grid-template-columns:42px 1fr auto;margin-bottom:10px;padding:14px}.patient-list-row>div{min-width:0}.patient-list-row strong,.patient-list-row small{overflow-wrap:anywhere}.patient-list-row.compact{grid-template-columns:42px 1fr}.patient-list-row>span{align-items:center;background:#edf5ff;border-radius:50%;color:var(--dash-accent);display:flex;height:38px;justify-content:center;width:38px}.patient-list-row svg{height:20px;width:20px}.patient-list-row strong,.patient-list-row small{display:block}.patient-list-row small,.patient-list-row em{color:var(--dash-muted);font-size:13px;font-style:normal;margin-top:4px}.next-appointment-card strong{display:block;font-size:22px;margin-bottom:8px}.next-appointment-card p{color:var(--dash-muted);margin-bottom:20px}.dashboard-empty{align-items:center;background:#f7faff;border:1px dashed #cfd9e8;border-radius:8px;color:var(--dash-muted);display:flex;justify-content:center;min-height:86px;padding:18px;text-align:center}@media(max-width:1180px){.dashboard-shell{grid-template-columns:280px minmax(0,1fr)}.dashboard-topbar{gap:16px;grid-template-columns:44px minmax(150px,1fr) minmax(220px,420px) auto;padding:0 20px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.doctor-grid,.patient-grid{grid-template-columns:1fr}.right-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.dashboard-shell{display:block;min-height:100vh;padding:0}.dashboard-main{margin:0;padding:0;min-height:100vh}.dashboard-content,.main-content{margin:0!important;padding:0!important}.dashboard-topbar{display:flex;justify-content:flex-start;align-items:center;padding:16px;margin:0;position:sticky;top:0;z-index:1500;background:#fff}.dashboard-topbar>div:first-of-type{flex:1 1 auto}.menu-btn{position:relative;z-index:3001}.dashboard-search,.topbar-actions{display:none}.dashboard-toolbar,.stats-grid,.doctor-grid,.patient-hero,.patient-grid{margin-left:16px;margin-right:16px}.dashboard-toolbar,.patient-hero{flex-direction:column;align-items:stretch;gap:14px}.appointment-row{grid-template-columns:64px 42px minmax(0,1fr)}.appointment-row>div:nth-of-type(2),.appointment-row em,.appointment-row>button{display:none}.dashboard-sidebar{position:fixed;top:0;left:0;width:260px;height:100vh;z-index:2000;background:linear-gradient(180deg,#06264d,#021b3a);transform:translate(-100%);transition:transform .3s ease}.dashboard-sidebar.open{transform:translate(0)}.dashboard-sidebar.closed{transform:translate(-100%)}.dashboard-topbar{z-index:1500}}@media(max-width:560px){.stats-grid{grid-template-columns:1fr}.toolbar-actions,.date-controls{align-items:stretch;flex-direction:column}.date-controls strong{text-align:center}.dashboard-toolbar,.stats-grid,.doctor-grid,.patient-hero,.patient-grid{margin-left:12px;margin-right:12px}.dashboard-card,.calendar-panel,.schedule-panel,.right-panel section{padding:14px}.patient-hero{border-radius:12px;padding:22px 18px}.patient-hero h2{font-size:22px}.card-header{align-items:stretch;flex-direction:column}.card-header button,.patient-hero button,.next-appointment-card button{width:100%}.right-panel{grid-template-columns:1fr}.patient-list-row{grid-template-columns:42px 1fr}.patient-list-row em{grid-column:2}}.medications-container{max-width:1200px;margin:0 auto;padding:20px;font-family:Source Sans Pro,sans-serif;width:100%;min-width:0}.medications-header{margin-bottom:40px;padding-bottom:20px;border-bottom:2px solid #2681c4}.medications-header h1{color:#2c3e50;font-size:32px;margin:0 0 10px}.subtitle{color:#7f8c8d;font-size:18px;margin:0}.section-medication-requests{margin-bottom:40px;background:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 6px #0000001a;min-width:0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;flex-wrap:wrap;gap:15px}.section-header h2{color:#2c3e50;font-size:24px;margin:0;display:flex;align-items:center;gap:10px}.icon{font-size:24px}.badge-count{background:#e8f4fd;color:#2681c4;padding:6px 15px;border-radius:20px;font-weight:600;font-size:14px}.medication-requests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:20px}.medication-request-card{background:#f8f9fa;border-radius:10px;padding:20px;border-left:4px solid;transition:transform .3s ease,box-shadow .3s ease;min-width:0}.medication-request-card.activa,.medication-request-card.active{border-left-color:#27ae60}.medication-request-card:hover{transform:translateY(-3px);box-shadow:0 6px 12px #0000001a}.medication-request-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;gap:12px}.medication-request-medico,.medication-request-practitioner{margin:0 0 2px;color:#2681c4;font-weight:600;overflow-wrap:anywhere}.status-badge{padding:4px 12px;border-radius:15px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.activa,.status-badge.active{background:#e8f6f3;color:#27ae60}.medication-request-info{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:15px;padding:10px 0;border-top:1px solid #e1e5e9;border-bottom:1px solid #e1e5e9}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{font-size:12px;color:#7f8c8d;text-transform:uppercase}.info-value{font-weight:600;color:#2c3e50}.medications-list,.medications-lista{margin-bottom:20px}.medications-list h4,.medications-lista h4{margin:0 0 10px;color:#2c3e50;font-size:16px}.medication-item{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-bottom:1px dashed #e1e5e9}.medication-item:last-child{border-bottom:none}.medication-item strong{color:#2c3e50;font-size:14px}.medication-item span{color:#7f8c8d;font-size:13px}.duration{font-style:italic;color:#f39c12!important}.medication-request-acciones,.medication-request-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.primary-btn,.secondary-btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.primary-btn{background:#2681c4;color:#fff;display:flex;align-items:center;gap:8px}.primary-btn:hover{background:red;transform:translateY(-2px)}.secondary-btn{background:#95a5a6;color:#fff}.secondary-btn:hover{background:#7f8c8d}.history-table{overflow-x:auto;border-radius:8px;border:1px solid #e1e5e9;max-width:100%;-webkit-overflow-scrolling:touch}.history-table table{width:100%;border-collapse:collapse;min-width:800px}.history-table thead{background:#f8f9fa}.history-table th{padding:15px;text-align:left;color:#2c3e50;font-weight:600;border-bottom:2px solid #e1e5e9}.history-table td{padding:15px;border-bottom:1px solid #e1e5e9;color:#34495e}.practitioner-info strong{color:#2c3e50;display:block}.expiration-date.vencida{color:#e74c3c;font-weight:600}.status-badge-table{padding:4px 12px;border-radius:15px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge-table.comprada{background:#e8f4fd;color:#2681c4}.status-badge-table.vencida{background:#fdedec;color:#e74c3c}.actions-history{display:flex;flex-wrap:wrap;gap:8px}.watch-btn{padding:6px 12px;background:#95a5a6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600}.download-btn{padding:6px 10px;background:#2681c4!important;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.aditional-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:40px}.info-card{background:#fff;border-radius:10px;padding:25px;box-shadow:0 4px 6px #0000001a;border-top:4px solid #2681c4}.info-card h3{margin:0 0 15px;color:#2c3e50;display:flex;align-items:center;gap:10px}.info-card p{color:#7f8c8d;margin-bottom:20px;line-height:1.5}.no-medication-requests,.sin-registros{grid-column:1 / -1;text-align:center;padding:40px;color:#7f8c8d;font-style:italic}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px}.spinner{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container{text-align:center;padding:50px 20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.error-container h2{color:#e74c3c;margin-bottom:15px}.error-container p{color:#666;margin-bottom:25px}.header-content{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.doses-info{background-color:#f8f9fa;padding:8px 15px;border-radius:6px;margin-top:10px;font-size:.9em;color:#555;border-left:3px solid #3498db}.btn-recargar{background-color:#3498db;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9em;display:flex;align-items:center;gap:5px;transition:background-color .3s}.btn-recargar:hover{background-color:#2980b9}@media(max-width:768px){.medications-container{padding:15px}.medication-requests-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start}.filtros{width:100%;overflow-x:auto;padding-bottom:10px}.medication-request-acciones,.medication-request-actions{flex-direction:column}.aditional-info,.info-adicional{grid-template-columns:1fr}.header-content,.header-contenido{flex-direction:column;gap:15px}.doses-info{font-size:.8em}}@media(max-width:576px){.medications-container{padding:14px 10px}.medications-header h1{font-size:24px}.subtitle{font-size:16px}.section-medication-requests,.medication-requests-section{padding:15px}.medication-request-card{padding:16px}.medication-request-header{flex-direction:column}.status-badge{align-self:flex-start}.history-table{font-size:14px}}.appointments-container{max-width:1200px;margin:0 auto;padding:20px;font-family:Source Sans Pro,sans-serif;width:100%;min-width:0}.appointments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:2px solid #2681c4}.appointments-header h1{color:#2c3e50;font-size:32px;margin:0}.new-appointment-btn{background:#2681c4;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.new-appointment-btn:hover{background:#1a5a8c;transform:translateY(-2px)}.appointments-section,.appointments-sections{margin-bottom:40px;background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 10px #00000014}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #e1e5e9}.section-header h2{color:#2c3e50;margin:0;font-size:22px;font-weight:600}.appointments-count{background:#2681c4;color:#fff;padding:6px 12px;border-radius:20px;font-size:14px;font-weight:600;min-width:60px;text-align:center}.appointments-table-container{border-radius:8px;overflow-x:auto;border:1px solid #e1e5e9;width:100%;max-width:100%;-webkit-overflow-scrolling:touch}.appointments-table{width:100%;border-collapse:collapse;font-size:14px;min-width:500px}.appointments-table thead{background:#2681c4}.appointments-table th{padding:16px 12px;text-align:left;color:#fff;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.appointments-table tbody tr{border-bottom:1px solid #f0f3f5;transition:background-color .2s ease}.appointments-table tbody tr:hover{background-color:#f8fafc}.appointments-table td{padding:16px 12px;color:#2c3e50;vertical-align:middle}.actions-table{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}.cancel-table-btn{background:#e74c3c;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-table-btn:hover{background:#c0392b;transform:translateY(-1px)}.no-appointments-message{text-align:center;padding:40px 20px;background:#f8f9fa;border-radius:12px;border:2px dashed #bdc3c7}.no-appointments-icon{font-size:48px;color:#95a5a6;margin-bottom:20px;line-height:1}.no-appointments-icon:before{font-size:48px}.no-appointments-message h3{color:#2c3e50;margin-bottom:10px;font-size:20px;font-weight:600}.no-appointments-message p{color:#7f8c8d;margin-bottom:25px;font-size:15px;max-width:400px;margin-left:auto;margin-right:auto;line-height:1.5}@media(max-width:768px){.appointments-header{flex-direction:column;align-items:stretch;gap:15px}.appointments-header h1{font-size:24px;text-align:center}.new-appointment-btn{width:100%;justify-content:center}.appointments-table{font-size:13px;min-width:560px}.appointments-table th,.appointments-table td{padding:12px 8px}}@media(max-width:480px){.appointments-container{padding:12px 10px}.appointments-section,.appointments-sections{padding:14px}.appointments-table{min-width:520px}.no-appointments-message{padding:28px 14px}}.observation-container{padding:24px;max-width:1400px;margin:0 auto;font-family:Source Sans Pro,sans-serif;width:100%;min-width:0}.page-header{margin-bottom:20px;border-bottom:2px solid #2681c4;padding-bottom:10px}.header-top{display:flex;align-items:center;justify-content:center;position:relative;gap:16px}.page-title{font-size:2rem;color:#2c3e50;margin:0;font-weight:700;text-align:center}.header-top button{position:absolute;right:0;font-weight:700;font-size:1.1rem;padding:12px 24px;border-radius:8px;background-color:#2681c4;color:#fff;cursor:pointer}.header-top button:hover{background-color:#1c6ed5}.page-subtitle{color:#7f8c8d;font-size:18px;margin:0}.section-title{font-size:1.4rem;margin-bottom:20px;color:#2c3e50}.statistics-container{margin-bottom:30px}.statistics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.statistics-card{background:#fff;border-radius:10px;padding:18px;display:flex;gap:12px;border:1px solid #e3e8ee;min-width:0}.statistics-card>div{min-width:0}.statistics-icon{font-size:28px}.statistics-label{font-size:13px;color:#7f8c8d;display:block;margin-bottom:6px}.statistics-value{font-size:20px;font-weight:600;color:#2c3e50}.averages-container{margin-bottom:30px;background:#fff;border-radius:10px;padding:20px;border:1px solid #e3e8ee}.averages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.average-card{background:#f7f9fc;border-radius:8px;padding:16px}.average-card h3{font-size:14px;color:#7f8c8d;margin-bottom:10px}.average-valor{font-size:24px;font-weight:600;color:#2c3e50}.graphics-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:24px;margin-bottom:40px}.graphic-card{background:#fff;border-radius:10px;padding:20px;border:1px solid #e3e8ee;min-width:0}.graphic-title{font-size:1.4rem;margin-bottom:20px;text-align:center;color:#2c3e50}.table-container{margin-top:30px}.table-responsive{overflow-x:auto;border-radius:10px;border:1px solid #e3e8ee;max-width:100%;-webkit-overflow-scrolling:touch}.table-datos{width:100%;border-collapse:collapse;min-width:640px}.table-datos thead{background:#2681c4;color:#fff}.table-datos th{padding:14px;font-size:13px;text-align:left}.table-datos td{padding:14px;border-bottom:1px solid #eee;font-size:14px;color:#2c3e50}.table-datos tr:last-child td{border-bottom:none}.no-data-container{border:2px dashed #cfd8dc;border-radius:12px;padding:50px 20px;text-align:center;margin-top:30px}.no-data-container h3{margin-bottom:10px;color:#2c3e50}.no-data-container p{margin-bottom:20px;color:#7f8c8d}.loading-container,.error-container{text-align:center;padding:60px 20px}.spinner{width:45px;height:45px;border:4px solid #eee;border-top:4px solid #2681c4;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 15px}.refreshing-banner{background-color:#f1c40f;color:#fff;padding:10px;text-align:center;font-size:16px;font-weight:700;border-radius:5px;margin-top:20px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:576px){.observation-container{padding:14px 10px}.header-top{align-items:stretch;flex-direction:column}.header-top button{position:static;width:100%}.page-title{font-size:1.55rem}.page-subtitle{font-size:16px}.statistics-grid,.averages-grid,.graphics-container{grid-template-columns:1fr}.graphic-card,.averages-container{padding:14px}.graphic-title,.section-title{font-size:1.15rem}.table-datos{min-width:560px}}.observation-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;justify-content:center;align-items:center;z-index:9999;padding:16px;margin:0}.observation-modal-content{background:#fff;width:min(100%,720px);max-width:720px;max-height:calc(100vh - 32px);overflow-y:auto;border-radius:10px;border:none;outline:none;box-shadow:0 10px 25px #00000026;margin:0}.observation-modal-content .modal-header{background:#2681c4;padding:18px 22px;display:flex;justify-content:space-between;align-items:center}.observation-modal-content .modal-header h1{margin:0;color:#fff!important;font-size:20px;font-weight:700}.observation-modal-content .modal-header button{background:transparent;border:none;color:#fff;font-size:22px;cursor:pointer}.observation-modal-content .modal-body{padding:22px}.observation-modal-content .form-row{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:18px}.observation-modal-content .form-group{display:flex;flex-direction:column}.observation-modal-content .form-group label{margin-bottom:6px;font-size:13px;font-weight:600;color:#444}.observation-modal-content .form-group input,.observation-modal-content .form-group textarea,.observation-modal-content textarea{padding:10px 12px;border:1px solid #dcdcdc;border-radius:6px;font-size:14px;background:#fff}.observation-modal-content .form-group input:focus,.observation-modal-content .form-group textarea:focus,.observation-modal-content textarea:focus{outline:none;border-color:#4caf50}.observation-modal-content input.error,.observation-modal-content textarea.error{border-color:#e74c3c;background:#fff5f5}.observation-modal-content .error-message{margin-top:4px;color:#e74c3c;font-size:12px}.observation-modal-content h3{margin-top:10px;margin-bottom:12px;font-size:18px}.observation-modal-content .checkboxes-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-bottom:15px}.observation-modal-content .checkbox-item{display:flex;align-items:center;gap:6px}.observation-modal-content .checkbox-input{accent-color:#4caf50}.observation-modal-content .checkbox-label{font-size:14px;color:#333;cursor:pointer}.observation-modal-content .checkbox-item.selected .checkbox-label{color:#4caf50;font-weight:600}.observation-modal-content textarea{width:100%;min-height:80px;resize:vertical;margin-top:10px}.observation-modal-content .symptoms-preview{margin-top:10px;padding:10px;background:#f7f7f7;border-left:3px solid #4caf50;font-size:13px;color:#555}.observation-modal-content .modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.observation-modal-content .modal-footer button{padding:10px 16px;border:none;border-radius:6px;font-weight:700;cursor:pointer}.observation-modal-content .modal-footer button[type=button]{background:#e0e0e0}.observation-modal-content .modal-footer button[type=button]:hover{background:#d5d5d5}.observation-modal-content .modal-footer button[type=submit]{background:#2d7dbf;color:#fff}.observation-modal-content .modal-footer button[type=submit]:hover{background:#256aa3}.observation-modal-content::-webkit-scrollbar{width:8px}.observation-modal-content::-webkit-scrollbar-thumb{background:#bbb;border-radius:4px}@media(min-width:768px){.observation-modal-content .form-row{grid-template-columns:1fr 1fr}}@media(max-width:768px){.observation-modal-overlay{align-items:flex-start;padding:10px}.observation-modal-content{border-radius:10px;max-height:calc(100vh - 20px)}.observation-modal-content .modal-header,.observation-modal-content .modal-body{padding-left:16px;padding-right:16px}.observation-modal-content .checkboxes-grid{grid-template-columns:1fr}.observation-modal-content .modal-footer{flex-direction:column-reverse}.observation-modal-content .modal-footer button{width:100%}}.custom-select{position:relative;width:100%;min-width:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.custom-select__trigger{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:14px;border:2px solid #e9ecef;border-radius:10px;background:#fff;font-size:16px;cursor:pointer;transition:all .3s ease;min-width:0}.custom-select__value{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select__trigger:hover{border-color:#667eea}.custom-select__arrow{flex:0 0 auto;font-size:12px;transition:transform .3s ease}.custom-select__options{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid #e9ecef;border-top:none;border-radius:0 0 10px 10px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 4px 12px #0000001a;margin-top:-1px}.custom-select__option{padding:12px 14px;cursor:pointer;transition:background .2s ease;border-bottom:1px solid #f8f9fa;overflow-wrap:anywhere}.custom-select__option:hover{background:#f8f9fa;color:#495057}.custom-select__option:last-child{border-bottom:none;border-radius:0 0 10px 10px}@media(max-width:560px){.custom-select__trigger{font-size:14px;min-height:42px;padding:11px 12px}.custom-select__options{max-height:45vh}}.dashboard-page-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 320px;margin:28px 34px 34px;min-width:0}.dashboard-page-grid.single{grid-template-columns:1fr}.page-main-card{min-height:520px;min-width:0}.dashboard-side-stack{display:flex;flex-direction:column;gap:18px}.dashboard-table-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.dashboard-table{border-collapse:collapse;min-width:640px;width:100%}.dashboard-table th,.dashboard-table td{border-bottom:1px solid #edf1f7;color:#273148;font-size:14px;padding:15px 12px;text-align:left;vertical-align:middle}.dashboard-table th{color:#657084;font-size:12px;font-weight:800}.dashboard-table strong,.dashboard-table small{display:block}.dashboard-table small{color:#687386;margin-top:4px}.dashboard-table .cancel-table-btn,.cancel-table-btn{background:#e53935;border:0;border-radius:6px;color:#fff;cursor:pointer;font:inherit;font-size:13px;font-weight:700;min-height:34px;padding:0 12px;white-space:nowrap}.dashboard-table .cancel-table-btn:hover:not(:disabled),.cancel-table-btn:hover:not(:disabled){background:#c62828}.dashboard-table .cancel-table-btn:disabled,.cancel-table-btn:disabled{cursor:not-allowed;opacity:.55}.status-ok{background:#e9f8f2;border-radius:999px;color:#078f68;font-style:normal;padding:5px 11px}.mini-stat{border:1px solid #edf1f7;border-radius:9px;margin-top:12px;padding:16px}.mini-stat span{color:#0b6be8;display:block;font-size:26px;font-weight:850}.mini-stat.green span{color:#078f68}.mini-stat p{color:#687386;margin:4px 0 0}.patient-section-select{min-width:240px;width:min(100%,280px)}.patient-section-select .custom-select__trigger{border-color:#e1e7f0;border-radius:7px;font-size:14px;min-height:38px;padding:0 12px}.patient-section-select .custom-select__trigger:hover{border-color:#0b6be8}.patient-section-select .custom-select__options{border-color:#e1e7f0;border-radius:0 0 7px 7px}.patient-section-select .custom-select__option{font-size:14px}.notification-row{align-items:center;border:1px solid #edf1f7;border-radius:9px;display:grid;gap:14px;grid-template-columns:44px 1fr auto;margin-bottom:12px;padding:14px}.notification-row>div{min-width:0}.notification-row strong,.notification-row small{overflow-wrap:anywhere}.notification-row>span{align-items:center;background:#edf5ff;border-radius:50%;color:#0b6be8;display:flex;height:40px;justify-content:center;width:40px}.notification-row svg{height:21px;width:21px}.notification-row strong,.notification-row small{display:block}.notification-row small{color:#687386;margin-top:4px}.notification-row em{color:#0b6be8;font-style:normal}.settings-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid .dashboard-card:last-child{grid-column:1 / -1}.settings-grid label{color:#273148;display:block;font-size:13px;font-weight:700;margin-top:14px}.settings-grid input,.settings-grid select{border:1px solid #e1e7f0;border-radius:7px;box-sizing:border-box;display:block;font:inherit;margin-top:8px;min-height:40px;padding:0 12px;width:100%}@media(max-width:1000px){.dashboard-page-grid,.settings-grid{grid-template-columns:1fr}.dashboard-side-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.dashboard-page-grid{margin:18px 16px 28px}.dashboard-side-stack,.settings-grid{grid-template-columns:1fr}.patient-section-select{min-width:0;width:100%}.dashboard-table{min-width:560px}.notification-row{align-items:start;grid-template-columns:40px minmax(0,1fr)}.notification-row em{grid-column:2}}@media(max-width:420px){.dashboard-page-grid{margin:14px 10px 24px}.page-main-card{min-height:0}.dashboard-table th,.dashboard-table td{font-size:12px;padding:11px 9px}}.appointment-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:flex-start;padding:20px;overflow-y:auto;z-index:9999}.appointment-modal-content{background:#fff;padding:40px 30px 30px;border-radius:15px;width:min(100%,500px);align-items:flex-start;max-height:calc(100vh - 40px);max-width:500px;overflow-y:auto;margin:auto;box-shadow:0 10px 30px #0003}.appointment-modal-content h2{margin-bottom:20px;color:#495057;text-align:center}.appointment-modal-content .form-group{margin-bottom:15px}.appointment-modal-content .form-group label{display:block;margin-bottom:5px;color:#495057;font-weight:600}.appointment-modal-content .react-select__control{border-radius:10px!important;border:2px solid #e9ecef!important;padding:2px}.appointment-modal-content .form-group input{width:100%;padding:12px;border:2px solid #e9ecef;border-radius:10px;font-size:16px}.appointment-modal-content .form-group select:disabled{background:#f8f9fa;cursor:not-allowed}.appointment-modal-content .error{color:#dc3545;font-size:14px;margin-top:5px;display:block}.appointment-modal-content .modal-actions{display:flex;gap:10px;margin-top:20px}.appointment-modal-content .modal-actions button{flex:1;padding:12px;border:none;border-radius:10px;font-size:16px;cursor:pointer}.appointment-modal-content .modal-actions button:first-child{background:#6c757d;color:#fff}.appointment-modal-content .modal-actions button:last-child{background:#667eea;color:#fff}.appointment-modal-content .modal-actions button:disabled{background:#b8c2cc;cursor:not-allowed}.swal2-container{z-index:9999!important}@media(max-width:560px){.appointment-modal-overlay{padding:10px}.appointment-modal-content{border-radius:12px;max-height:calc(100vh - 20px);padding:22px 16px 18px;width:100%}.appointment-modal-content h2{font-size:20px}.appointment-modal-content .modal-actions{flex-direction:column-reverse}.appointment-modal-content .modal-actions button{width:100%}}.auth-page{--auth-blue: #0b6be8;--auth-blue-dark: #0758c8;--auth-ink: #111936;--auth-muted: #657084;--auth-line: #dfe5ee;--auth-panel: #f4f8fd;--auth-soft: #edf5ff;align-items:center;background:#f2f5f9;color:var(--auth-ink);display:flex;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:100vh;padding:18px;overflow-x:hidden}.auth-patient{--auth-blue: #0b6be8;--auth-blue-dark: #0758c8;--auth-soft: #edf5ff}.auth-doctor{--auth-blue: #078f68;--auth-blue-dark: #057a59;--auth-soft: #e9f8f2}.auth-stats{--auth-blue: #7c3aed;--auth-blue-dark: #6d28d9;--auth-soft: #ede9fe}.auth-shell{background:#fff;border:1px solid rgba(17,25,54,.06);border-radius:20px;box-shadow:0 18px 50px #1224401f;display:grid;grid-template-columns:minmax(380px,.95fr) minmax(420px,1fr);height:min(92vh,980px);max-width:1420px;min-height:720px;overflow:hidden;width:min(100%,1420px);min-width:0}.auth-register .auth-shell{grid-template-columns:minmax(320px,.78fr) minmax(560px,1.22fr)}.auth-patient.auth-register .auth-shell{grid-template-columns:minmax(360px,.88fr) minmax(560px,1.12fr)}.auth-visual{background:linear-gradient(180deg,#f8fbff,#eef5fc);display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:58px 56px 30px;position:relative}.auth-register .auth-visual{padding:58px 44px 0}.brand-lockup{align-items:center;color:var(--auth-blue);display:flex;gap:18px;position:relative;z-index:2}.brand-mark{flex:0 0 auto;height:56px;width:56px}.brand-name{color:var(--auth-blue);font-size:27px;font-weight:800;letter-spacing:.12em;line-height:1;margin:0 0 18px}.brand-subtitle{color:#111827;font-size:15px;font-weight:500;line-height:1.45;margin:0}.visual-copy{margin-top:54px;max-width:330px;position:relative;z-index:2}.visual-copy h2{color:var(--auth-ink);font-size:23px;font-weight:800;line-height:1.32;margin:0 0 20px}.visual-copy p{color:#566174;font-size:16px;line-height:1.75;margin:0}.visual-copy-register{margin-top:50px;max-width:380px}.benefit-list{display:flex;flex-direction:column;gap:24px;margin-top:28px}.benefit-row{align-items:flex-start;display:grid;gap:16px;grid-template-columns:50px 1fr}.benefit-badge{align-items:center;background:#e8f3ff;border-radius:50%;color:var(--auth-blue);display:flex;height:50px;justify-content:center;width:50px}.benefit-badge svg,.privacy-icon svg,.role-icon svg,.input-icon svg,.submit-btn svg,.google-btn svg{display:block}.benefit-badge svg{fill:none;height:26px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;width:26px}.benefit-row strong{color:var(--auth-ink);display:block;font-size:14px;margin-bottom:5px}.benefit-row span span{color:var(--auth-muted);display:block;font-size:13px;line-height:1.45}.visual-image-wrap{inset:41% 0 0;overflow:hidden;position:absolute;z-index:1}.auth-register .visual-image-wrap{top:58%}.visual-image-wrap:before{background:linear-gradient(180deg,#f8fbffeb,#f8fbff70 28%,#f8fbff00 52%);content:"";inset:0;pointer-events:none;position:absolute;z-index:2}.visual-image{height:100%;object-fit:cover;object-position:center bottom;opacity:.92;width:100%}.auth-patient .visual-image{object-position:center bottom}.privacy-card{align-items:center;background:#ffffffd6;border:1px solid rgba(225,233,244,.92);border-radius:16px;bottom:78px;box-shadow:0 16px 34px #1d355714;display:grid;gap:14px;grid-template-columns:40px 1fr;left:56px;max-width:292px;padding:16px 18px;position:absolute;z-index:3}.privacy-icon{align-items:center;background:#edf5ff;border-radius:50%;color:#5b718d;display:flex;height:40px;justify-content:center;width:40px}.privacy-icon svg{fill:none;height:22px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;width:22px}.privacy-card strong{color:var(--auth-ink);display:block;font-size:13px;margin-bottom:4px}.privacy-card p{color:#596579;font-size:12px;line-height:1.45;margin:0}.auth-copyright{bottom:24px;color:#7a8494;font-size:12px;left:0;margin:0;position:absolute;right:0;text-align:center;z-index:3}.auth-register .auth-copyright{display:none}.auth-form-panel{align-items:center;background:#fff;display:flex;justify-content:center;min-height:0;overflow-y:auto;padding:48px 56px;min-width:0}.auth-login .auth-form-panel{background:#fdfefe}.login-form{background:#fff;border:1px solid rgba(220,226,236,.8);border-radius:18px;box-shadow:0 18px 44px #1b2a4614;display:flex;flex-direction:column;max-width:430px;padding:54px 44px 48px;width:100%}.register-form{display:flex;flex-direction:column;max-width:700px;min-width:0;width:100%}.form-heading h1{color:var(--auth-ink);font-size:27px;font-weight:800;letter-spacing:.08em;line-height:1.2;margin:0 0 16px}.form-heading.compact h1{font-size:28px;letter-spacing:0;margin-bottom:10px}.form-heading p{color:var(--auth-muted);font-size:14px;line-height:1.5;margin:0}.login-fields{display:flex;flex-direction:column;gap:24px;margin-top:50px}.form-section{display:flex;flex-direction:column;gap:16px;margin-top:26px}.form-section-title{color:var(--auth-ink);font-size:16px;font-weight:800;margin:0 0 4px}.form-grid{display:grid;gap:16px 18px;min-width:0}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.field-group{display:flex;flex-direction:column;min-width:0}.field-group label,.field-label{color:#283048;font-size:13px;font-weight:650;line-height:1.35;margin-bottom:8px}.input-shell{position:relative}.input-icon{align-items:center;color:#68758a;display:flex;height:100%;justify-content:center;left:14px;pointer-events:none;position:absolute;top:0;width:22px;z-index:1}.input-icon svg{fill:none;height:20px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;width:20px}.input-field{background:#fff;border:1px solid var(--auth-line);border-radius:7px;box-sizing:border-box;color:var(--auth-ink);font:inherit;font-size:14px;min-height:39px;outline:none;padding:9px 13px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;width:100%}.auth-login .input-field{min-height:48px;padding-bottom:12px;padding-top:12px}.input-field.with-icon{padding-left:48px}.input-field::placeholder{color:#7d8797}.input-field:focus{border-color:var(--auth-blue);box-shadow:0 0 0 3px #0b6be81c}.input-field.error{border-color:#d92d20}.select-field{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#526071 50%),linear-gradient(135deg,#526071 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;color:#485466;cursor:pointer;padding-right:36px}.password-container .input-field{padding-right:48px}.password-toggle{align-items:center;background:transparent;border:0;color:#68758a;cursor:pointer;display:flex;height:100%;justify-content:center;padding:0;position:absolute;right:12px;top:0;width:28px}.password-toggle svg{fill:none;height:19px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;width:19px}.password-toggle:hover{color:var(--auth-blue)}.login-options{align-items:center;display:flex;justify-content:space-between;margin:26px 0 28px}.check-control{align-items:center;color:#465267;cursor:pointer;display:inline-flex;font-size:13px;gap:10px;line-height:1.4}.check-control input{accent-color:var(--auth-blue);height:17px;margin:0;width:17px}.forgot-link,.check-control a{color:var(--auth-blue);font-size:13px;text-decoration:none}.forgot-link:hover,.check-control a:hover,.form-footer button:hover{text-decoration:underline}.submit-btn,.google-btn{align-items:center;border-radius:7px;cursor:pointer;display:inline-flex;font:inherit;font-size:14px;font-weight:750;gap:10px;justify-content:center;min-height:48px;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;width:100%}.submit-btn{background:var(--auth-blue);border:1px solid var(--auth-blue);color:#fff;margin-top:10px}.submit-btn svg{fill:none;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:18px}.submit-btn:hover:not(:disabled){background:var(--auth-blue-dark);box-shadow:0 10px 22px #0b6be83b}.submit-btn:active:not(:disabled),.google-btn:active{transform:translateY(1px)}.submit-btn:disabled{cursor:not-allowed;opacity:.65}.form-error{margin:14px 0 0;text-align:center}.divider{align-items:center;color:#7b8798;display:flex;font-size:13px;gap:12px;margin:28px 0}.divider:before,.divider:after{background:var(--auth-line);content:"";flex:1;height:1px}.google-btn{background:#fff;border:1px solid var(--auth-line);color:#263247}.google-btn svg{height:20px;width:20px}.google-btn:hover{border-color:#cbd4e1;box-shadow:0 8px 18px #15223812}.form-footer{align-items:center;color:#566174;display:flex;font-size:14px;gap:7px;justify-content:center;margin-top:54px}.compact-footer{margin-top:24px}.form-footer button{background:transparent;border:0;color:var(--auth-blue);cursor:pointer;font:inherit;font-weight:750;padding:0}.role-buttons{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.password-hint{align-items:flex-start;background:#edf4ff;border-radius:7px;color:#4c5870;display:grid;font-size:13px;gap:10px;grid-template-columns:20px 1fr;line-height:1.5;padding:14px 16px}.password-hint svg{fill:none;height:19px;stroke:var(--auth-blue);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;width:19px}.role-page{align-items:center;background:radial-gradient(circle at 96% 64%,rgba(11,107,232,.08) 0 14%,transparent 15%),linear-gradient(135deg,#f7fbff,#fff 48%,#f6f9fd);color:#111936;display:flex;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:100vh;padding:28px}.role-shell{background:#ffffffeb;border:1px solid rgba(202,213,227,.72);border-radius:22px;box-shadow:0 18px 50px #1224401a;max-width:1440px;overflow:hidden;padding:44px 48px 36px;position:relative;width:min(100%,1440px)}.role-shell:before{background:linear-gradient(156deg,rgba(11,107,232,.05) 0%,transparent 48%);content:"";height:420px;left:-80px;pointer-events:none;position:absolute;top:130px;transform:rotate(-8deg);width:620px}.role-header{align-items:flex-start;display:flex;justify-content:space-between;position:relative;z-index:1}.selector-brand{align-items:center;color:#0b6be8;display:flex;gap:16px}.selector-brand svg{height:58px;width:58px}.selector-brand strong{display:block;font-size:29px;letter-spacing:.08em;line-height:1}.selector-brand span{color:#566174;display:block;font-size:14px;margin-top:10px}.help-button{align-items:center;background:#ffffffc2;border:1px solid #dfe7f2;border-radius:9px;color:#58677c;cursor:pointer;display:inline-flex;font:inherit;font-size:13px;gap:8px;padding:11px 15px}.help-button svg{fill:none;height:18px;stroke:#0b6be8;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;width:18px}.role-title{margin:4px auto 0;max-width:680px;position:relative;text-align:center;z-index:1}.role-title h1{color:#111936;font-size:38px;font-weight:850;letter-spacing:0;line-height:1.15;margin:0 0 10px}.role-title p{color:#5b6579;font-size:16px;line-height:1.55;margin:0}.role-choice-area{align-items:stretch;display:grid;gap:48px;grid-template-columns:repeat(3,minmax(0,1fr));margin:62px auto 0;max-width:1240px;position:relative;z-index:1}.role-card{background:#fffffff0;border:1.5px solid #bed6f6;border-radius:16px;box-shadow:0 16px 35px #192f4c0f;min-height:430px;padding:64px 42px 32px;position:relative;text-align:center;min-width:0;display:flex;flex-direction:column}.doctor-card{border-color:#9ed8c6}.stats-card{border-color:#c4b5fd}.role-card-icon{align-items:center;background:#edf5ff;border-radius:50%;color:#0b6be8;display:flex;height:96px;justify-content:center;left:50%;position:absolute;top:-48px;transform:translate(-50%);width:96px}.doctor-card .role-card-icon{background:#e9f8f2;color:#078f68}.stats-card .role-card-icon{background:#ede9fe;color:#7c3aed}.role-card-icon svg{fill:none;height:50px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;width:50px}.role-card h2{color:#0b6be8;font-size:25px;letter-spacing:.08em;margin:0 0 30px}.doctor-card h2{color:#078f68}.stats-card h2{color:#7c3aed}.role-card p{color:#626d82;font-size:15px;line-height:1.55;margin:0 auto 28px;max-width:330px}.role-card ul{display:flex;flex-direction:column;gap:15px;list-style:none;margin:0 auto 30px;max-width:300px;padding:0;text-align:left}.role-card li{align-items:center;color:#273148;display:flex;font-size:15px;gap:13px}.role-card li svg{background:#edf5ff;border-radius:50%;fill:none;height:30px;padding:7px;stroke:#0b6be8;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:30px}.doctor-card li svg{background:#e9f8f2;stroke:#078f68}.stats-card li svg{background:#ede9fe;stroke:#7c3aed}.role-card button{align-items:center;background:#0b6be8;border:0;border-radius:12px;box-shadow:0 6px 20px #0b6be859,0 2px 6px #0b6be833;color:#fff;cursor:pointer;display:flex;font:inherit;font-size:16px;font-weight:700;justify-content:center;letter-spacing:.04em;margin-top:auto;min-height:52px;padding:0 28px;transition:box-shadow .2s ease,transform .2s ease,background .2s ease;width:100%}.doctor-card button{background:#078f68;box-shadow:0 6px 20px #078f6859,0 2px 6px #078f6833}.stats-card button{background:#7c3aed;box-shadow:0 6px 20px #7c3aed59,0 2px 6px #7c3aed33}.role-card button:hover{box-shadow:0 10px 28px #0b6be873,0 4px 10px #0b6be840;transform:translateY(-2px)}.doctor-card button:hover{box-shadow:0 10px 28px #078f6873,0 4px 10px #078f6840}.stats-card button:hover{box-shadow:0 10px 28px #7c3aed73,0 4px 10px #7c3aed40}.role-middle{color:#657084;font-size:15px;line-height:1.45;text-align:center}.role-switch-icon{align-items:center;background:#fff;border:1px solid #dde6f1;border-radius:50%;box-shadow:0 8px 20px #1224401a;display:inline-flex;flex-direction:column;font-size:29px;font-weight:700;height:72px;justify-content:center;line-height:.7;margin-bottom:22px;width:72px}.role-switch-icon span:first-child{color:#078f68}.role-switch-icon span:last-child{color:#0b6be8}.role-features{background:#ffffffeb;border:1px solid #e5ebf4;border-radius:14px;box-shadow:0 12px 32px #1224400f;display:grid;gap:0;grid-template-columns:repeat(4,1fr);margin-top:36px;position:relative;z-index:1}.role-features>div{display:grid;gap:4px 16px;grid-template-columns:56px 1fr;padding:26px 28px}.role-features>div+div{border-left:1px solid #e5ebf4}.role-features span{align-items:center;background:#edf5ff;border-radius:50%;color:#0b6be8;display:flex;grid-row:span 2;height:48px;justify-content:center;width:48px}.role-features>div:nth-child(3) span{color:#2aabb5}.role-features>div:nth-child(4) span{color:#7c3fd1}.role-features svg{fill:none;height:25px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;width:25px}.role-features strong{color:#111936;font-size:14px}.role-features p{color:#637086;font-size:13px;line-height:1.45;margin:0}.role-footer{align-items:center;color:#657084;display:flex;font-size:13px;gap:10px;justify-content:center;margin-top:24px;position:relative;z-index:1}.role-footer svg{fill:none;height:16px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;width:16px}.role-footer a{color:#0b6be8;text-decoration:none}.role-footer a:hover{text-decoration:underline}.role-button{align-items:flex-start;background:#fff;border:1px solid var(--auth-line);border-radius:7px;color:var(--auth-ink);cursor:pointer;display:grid;gap:13px;grid-template-columns:34px 1fr;min-height:86px;padding:15px 16px;text-align:left;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.role-button.active{background:#f3f8ff;border-color:var(--auth-blue);box-shadow:0 0 0 1px #0b6be833}.role-button:hover{border-color:var(--auth-blue)}.role-icon{align-items:center;background:var(--auth-soft);border-radius:50%;color:var(--auth-ink);display:flex;height:34px;justify-content:center;width:34px}.role-button.active .role-icon{color:var(--auth-blue)}.role-icon svg{fill:none;height:19px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;width:19px}.role-button strong{display:block;font-size:13px;margin-bottom:5px}.role-button small{color:#5b6576;display:block;font-size:12px;line-height:1.35}.terms-control{align-items:flex-start;margin-top:24px}.terms-error{margin:7px 0 0}.error-message{color:#d92d20;font-size:12px;line-height:1.35;margin:6px 0 0}.role-features-mobile{display:none}@media(max-width:1180px){.auth-shell,.auth-register .auth-shell{grid-template-columns:minmax(300px,.8fr) minmax(430px,1fr)}.auth-visual{padding-left:34px;padding-right:34px}.privacy-card{left:34px}.auth-form-panel{padding:38px 36px}}@media(max-width:1180px){.role-shell{padding:36px 32px 30px}.role-choice-area{gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}.role-features{grid-template-columns:repeat(2,1fr)}.role-features>div:nth-child(3){border-left:0;border-top:1px solid #e5ebf4}.role-features>div:nth-child(4){border-top:1px solid #e5ebf4}}@media(max-width:1024px){.role-page{padding:0;min-height:100dvh}.role-shell{border:0;border-radius:0;box-shadow:none;min-height:100dvh;padding:14px 12px 24px;position:relative}.role-shell:before{display:none}.role-header{align-items:center;gap:10px}.role-header .navbar-logo{height:34px}.selector-brand svg{width:38px;height:38px;flex-shrink:0}.selector-brand strong{font-size:21px}.selector-brand span{font-size:12px;margin-top:6px}.role-title{margin:12px auto 14px}.role-title h1{font-size:22px;margin-bottom:6px}.role-title p{font-size:13px}.role-choice-area{display:grid;grid-template-columns:1fr;gap:10px}.role-middle,.role-features,.role-footer,.role-card p,.role-card ul{display:none!important}.role-card{align-items:center;display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;min-height:104px;padding:14px;text-align:left}.role-card-icon{width:50px;height:50px;margin:0;position:static;transform:none}.role-card-icon svg{width:28px;height:28px}.role-card h2{font-size:19px;letter-spacing:0;margin:0}.role-card button{min-height:42px;padding:0 16px;width:auto;gap:0}.role-card button span[aria-hidden=true]{display:none}.role-features-mobile{display:flex!important;flex-direction:column;gap:10px;margin-top:18px}.mobile-feature-card{align-items:flex-start;background:#fff;border:1px solid #e5ebf4;border-radius:14px;display:flex;gap:10px;padding:12px}.mobile-feature-card span{align-items:center;background:#edf5ff;border-radius:50%;color:#0b6be8;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.mobile-feature-card svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.mobile-feature-card strong{color:#111936;display:block;font-size:12px;line-height:1.3;margin-bottom:2px}.mobile-feature-card p{color:#657084;font-size:11px;line-height:1.35;margin:0;display:block!important}.role-footer-mobile{display:flex!important;align-items:flex-start;justify-content:center;text-align:center;gap:8px;margin-top:18px;padding:0 2px 20px;color:#657084;font-size:11px;line-height:1.5}.role-footer-mobile svg{width:14px;height:14px;margin-top:2px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.role-footer-mobile a{color:#0b6be8;text-decoration:none}}@media(max-width:920px){.auth-page{align-items:flex-start;padding:12px}.auth-shell,.auth-register .auth-shell{grid-template-columns:1fr;height:auto;min-height:0}.auth-visual,.auth-register .auth-visual{min-height:430px;padding:36px 28px 0}.auth-shell,.auth-register .auth-shell,.auth-patient.auth-register .auth-shell{grid-template-columns:1fr!important}.visual-copy{margin-top:30px;max-width:520px}.visual-image-wrap,.auth-register .visual-image-wrap{top:42%}.privacy-card{bottom:34px;left:28px}.auth-copyright{display:none}.auth-form-panel{overflow:visible;padding:34px 28px 42px}}@media(max-width:920px){.role-page{align-items:flex-start;padding:12px}.role-shell{padding:26px 22px}.role-header{gap:18px}.help-button span{display:none}.role-title h1{font-size:30px}.role-choice-area{grid-template-columns:1fr}.role-middle{order:-1}.role-card{min-height:0}}@media(max-width:640px){.auth-page{padding:0}.auth-shell{border:0;border-radius:0;box-shadow:none;width:100%}.auth-visual,.auth-register .auth-visual{min-height:300px;padding:28px 22px 0}.brand-lockup{gap:12px}.brand-mark{height:46px;width:46px}.brand-name{font-size:20px;margin-bottom:8px}.brand-subtitle{font-size:12px}.visual-copy{margin-top:26px}.visual-copy h2{font-size:20px}.visual-copy p{font-size:14px;line-height:1.55}.benefit-list{gap:14px;margin-top:18px}.benefit-row{grid-template-columns:38px 1fr}.benefit-badge{height:38px;width:38px}.benefit-badge svg{height:21px;width:21px}.privacy-card{bottom:20px;left:18px;max-width:calc(100% - 36px)}.auth-form-panel{padding:26px 18px 34px}.login-form{border:0;border-radius:0;box-shadow:none;padding:8px 0 0}.form-heading h1,.form-heading.compact h1{font-size:24px;letter-spacing:0}.login-fields{margin-top:34px}.login-options{align-items:flex-start;flex-direction:column;gap:12px}.two-columns,.role-buttons{grid-template-columns:1fr}.role-features-mobile{display:flex;flex-direction:column;gap:10px;margin-top:18px}.mobile-feature-card{align-items:flex-start;background:#fff;border:1px solid #e5ebf4;border-radius:14px;display:flex;gap:10px;padding:12px}.mobile-feature-card span{align-items:center;background:#edf5ff;border-radius:50%;color:#0b6be8;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.mobile-feature-card svg{fill:none;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;width:18px}.mobile-feature-card strong{color:#111936;display:block;font-size:12px;line-height:1.3;margin-bottom:2px}.mobile-feature-card p{color:#657084;font-size:11px;line-height:1.35;margin:0}.role-footer-mobile{align-items:flex-start;color:#657084;display:flex;font-size:11px;gap:8px;line-height:1.5;margin-top:18px;padding:0 2px 20px;justify-content:center;text-align:center}.role-footer-mobile svg{fill:none;flex-shrink:0;height:14px;margin-top:2px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;width:14px}.role-footer-mobile a{color:#0b6be8;text-decoration:none}.form-footer{margin-top:30px}}@media(max-width:380px){.auth-visual,.auth-register .auth-visual{min-height:260px;padding:22px 16px 0}.auth-form-panel{padding:22px 14px 30px}.privacy-card{display:none}.role-shell{padding:12px 10px}.role-card{grid-template-columns:48px minmax(0,1fr) auto;min-height:94px;padding:12px}.role-card-icon{height:44px;width:44px}.role-card h2{font-size:17px}.role-card button{font-size:14px;min-height:38px;padding:0 12px}}@media(max-width:1024px){.auth-shell,.auth-register .auth-shell{grid-template-columns:1fr;min-height:100dvh}.auth-visual,.auth-register .auth-visual{display:flex;align-items:center;justify-content:center;min-height:72px!important;height:72px!important;padding:8px 20px!important;background:#fff!important;border-bottom:1px solid #e5ebf4!important;box-shadow:0 2px 10px #0f172a0f,0 10px 24px #0f172a0f!important;overflow:hidden}.brand-lockup{display:flex;align-items:center;margin:0!important;padding:0!important;line-height:1!important}.brand-lockup *{margin-top:0!important;margin-bottom:0!important}.visual-copy,.visual-copy-register,.visual-image-wrap,.privacy-card,.benefit-list,.auth-copyright{display:none!important}.auth-form-panel{padding:20px 20px 40px;width:100%;background:#fff}.login-form,.register-form{border:0;border-radius:0;box-shadow:none;max-width:100%;padding:0}.role-page{padding:0;min-height:100dvh}.role-shell{border:0;border-radius:0;box-shadow:none;min-height:100dvh;padding:14px 12px}.role-shell:before{display:none}.role-header{align-items:center;gap:10px}.role-header .navbar-logo{height:34px}.selector-brand>svg{height:38px;width:38px;flex-shrink:0}.selector-brand strong{font-size:21px}.selector-brand span{font-size:12px;margin-top:6px}.role-title{margin:12px auto 14px}.role-title h1{font-size:22px;margin-bottom:6px}.role-title p{font-size:13px}.role-choice-area{gap:10px;grid-template-columns:1fr}.role-middle,.role-card p,.role-card ul,.role-features,.role-footer{display:none}.role-card{align-items:center;display:grid;gap:12px;grid-template-columns:54px minmax(0,1fr) auto;min-height:104px;padding:14px;text-align:left}.role-card-icon{height:50px;margin:0;position:static;transform:none;width:50px}.role-card-icon svg{height:28px;width:28px}.role-card h2{font-size:19px;letter-spacing:0;margin:0}.role-card button{gap:0;min-height:42px;padding:0 16px;width:auto}.role-card button span[aria-hidden=true]{display:none}}@media(max-width:640px){.auth-shell,.auth-register .auth-shell{grid-template-columns:1fr;min-height:100dvh}.auth-visual,.auth-register .auth-visual{display:flex;align-items:center;justify-content:center;min-height:72px!important;height:72px!important;padding:8px 20px!important;background:#fff!important;border-bottom:1px solid #e5ebf4!important;box-shadow:0 2px 10px #0f172a0f,0 10px 24px #0f172a0f!important;overflow:hidden}.brand-lockup{display:flex;align-items:center;margin:0!important;padding:0!important;line-height:1!important}.brand-lockup *{margin-top:0!important;margin-bottom:0!important}.visual-copy,.visual-copy-register,.visual-image-wrap,.privacy-card,.benefit-list,.auth-copyright{display:none!important}.auth-form-panel{padding:20px 20px 40px;width:100%;background:#fff}.login-form,.register-form{border:0;border-radius:0;box-shadow:none;max-width:100%;padding:0}.role-page{padding:0;min-height:100dvh}.role-shell{border:0;border-radius:0;box-shadow:none;min-height:100dvh;padding:14px 12px}.role-shell:before{display:none}.role-header{align-items:center;gap:10px}.role-header .navbar-logo{height:34px}.selector-brand svg{height:38px;width:38px}.selector-brand strong{font-size:21px}.selector-brand span{font-size:12px;margin-top:6px}.role-title{margin:12px auto 14px}.role-title h1{font-size:22px;margin-bottom:6px}.role-title p{font-size:13px}.role-choice-area{gap:10px;grid-template-columns:1fr}.role-middle,.role-card p,.role-card ul,.role-features,.role-footer{display:none}.role-card{align-items:center;display:grid;gap:12px;grid-template-columns:54px minmax(0,1fr) auto;min-height:104px;padding:14px;text-align:left}.role-card-icon{height:50px;margin:0;position:static;transform:none;width:50px}.role-card-icon svg{height:28px;width:28px}.role-card h2{font-size:19px;letter-spacing:0;margin:0}.role-card button{gap:0;min-height:42px;padding:0 16px;width:auto}.role-card button span[aria-hidden=true]{display:none}}@media(max-width:850px){.auth-shell{height:auto;min-height:100vh}}@media(max-width:380px){.role-shell{padding:12px 10px}.role-title{margin-bottom:10px}.role-title h1{font-size:20px}.role-title p{display:none}.role-card{grid-template-columns:46px minmax(0,1fr) auto;min-height:90px;padding:11px}.role-card-icon{height:42px;width:42px}.role-card-icon svg{height:24px;width:24px}.role-card h2{font-size:17px}.role-card button{font-size:14px;min-height:36px;padding:0 12px}}.dashboard-shell.stats{--dash-accent: #3b82f6}.dashboard-shell.stats .dashboard-nav button.active,.dashboard-shell.stats .dashboard-nav button:hover{background:#3b82f6}.stb-content{padding:24px 34px 34px;display:flex;flex-direction:column;gap:20px;min-width:0}.stb-filter-bar{background:#fff;border:1px solid var(--dash-line, #e1e7f0);border-radius:16px;box-shadow:0 8px 20px #1224400a;padding:16px 20px}.stb-filter-inner{display:flex;flex-direction:column;gap:12px}@media(min-width:1024px){.stb-filter-inner{flex-direction:row;align-items:flex-end;justify-content:space-between}}.stb-filter-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.stb-filter-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.stb-select-wrap{display:flex;flex-direction:column;gap:4px;min-width:130px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#687386}.stb-select{border:1px solid var(--dash-line, #e1e7f0);border-radius:10px;background:#fff;padding:7px 12px;font:inherit;font-size:13px;color:#1e293b;outline:none;cursor:pointer;text-transform:none;letter-spacing:normal}.stb-select:focus{border-color:#7c3aed}.stb-search-wrap{display:flex;flex-direction:column;gap:4px;min-width:200px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#687386}.stb-search-inner{position:relative}.stb-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none;display:flex;align-items:center}.stb-search-input{width:100%;border:1px solid var(--dash-line, #e1e7f0);border-radius:10px;background:#fff;padding:7px 12px 7px 34px;font:inherit;font-size:13px;color:#1e293b;outline:none;box-sizing:border-box;text-transform:none;letter-spacing:normal}.stb-search-input:focus{border-color:#7c3aed}.stb-search-input::placeholder{color:#94a3b8}.stb-btn-outline{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--dash-line, #e1e7f0);border-radius:10px;background:#fff;padding:7px 14px;font:inherit;font-size:13px;color:#475569;cursor:pointer;transition:border-color .15s,box-shadow .15s;white-space:nowrap}.stb-btn-outline:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #0000000f}.stb-filter-count{display:flex;align-items:center;gap:6px;background:#f1f5f9;border-radius:10px;padding:7px 14px;font-size:13px;color:#475569}.stb-tabs-row{display:flex;flex-wrap:wrap;gap:8px}.stb-tab{border:1px solid var(--dash-line, #e1e7f0);border-radius:9999px;background:#fff;padding:7px 18px;font:inherit;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.stb-tab:hover{background:#f8fafc;border-color:#cbd5e1}.stb-tab.active{background:#0f172a;border-color:#0f172a;color:#fff;box-shadow:0 2px 6px #0f172a33}.stb-kpi-grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:768px){.stb-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1280px){.stb-kpi-grid{grid-template-columns:repeat(4,1fr)}}.stb-kpi-card{background:#fff;border:1px solid var(--dash-line, #e1e7f0);border-radius:10px;box-shadow:0 8px 20px #1224400a;padding:20px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.stb-kpi-card.small{padding:16px}.stb-kpi-body{flex:1;min-width:0}.stb-kpi-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin:0}.stb-kpi-value-row{display:flex;align-items:flex-end;gap:8px;margin-top:8px}.stb-kpi-value{font-size:26px;font-weight:700;color:#0f172a;line-height:1}.stb-kpi-card.small .stb-kpi-value{font-size:20px}.stb-kpi-delta{font-size:11px;color:#64748b;padding-bottom:2px}.stb-kpi-subtitle{margin:8px 0 0;font-size:13px;color:#64748b}.stb-kpi-icon{border:1px solid;border-radius:14px;padding:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stb-kpi-icon.t-blue{background:#eff6ff;color:#2563eb;border-color:#bfdbfe}.stb-kpi-icon.t-green{background:#f0fdf4;color:#16a34a;border-color:#bbf7d0}.stb-kpi-icon.t-amber{background:#fffbeb;color:#d97706;border-color:#fde68a}.stb-kpi-icon.t-red{background:#fef2f2;color:#dc2626;border-color:#fecaca}.stb-kpi-icon.t-violet{background:#f5f3ff;color:#7c3aed;border-color:#ddd6fe}.stb-kpi-icon.t-slate{background:#f8fafc;color:#475569;border-color:#e2e8f0}.stb-chart-card{background:#fff;border:1px solid var(--dash-line, #e1e7f0);border-radius:10px;box-shadow:0 8px 20px #1224400a;padding:20px}.stb-chart-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.stb-chart-title{font-size:15px;font-weight:600;color:#0f172a;margin:0}.stb-chart-subtitle{margin:4px 0 0;font-size:13px;color:#64748b}.stb-chart-body{height:310px}.stb-insight-card{background:#fff;border:1px solid var(--dash-line, #e1e7f0);border-radius:10px;box-shadow:0 8px 20px #1224400a;padding:16px}.stb-insight-inner{display:flex;align-items:flex-start;gap:12px}.stb-insight-icon{border:1px solid;border-radius:10px;padding:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stb-insight-icon.t-amber{background:#fffbeb;color:#d97706;border-color:#fde68a}.stb-insight-icon.t-red{background:#fef2f2;color:#dc2626;border-color:#fecaca}.stb-insight-icon.t-green{background:#f0fdf4;color:#16a34a;border-color:#bbf7d0}.stb-insight-icon.t-blue{background:#eff6ff;color:#2563eb;border-color:#bfdbfe}.stb-insight-icon.t-violet{background:#f5f3ff;color:#7c3aed;border-color:#ddd6fe}.stb-insight-body{flex:1;min-width:0}.stb-insight-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.stb-insight-title{font-size:14px;font-weight:600;color:#0f172a;margin:0}.stb-badge{background:#f1f5f9;border-radius:9999px;padding:2px 10px;font-size:11px;font-weight:500;color:#475569;white-space:nowrap;flex-shrink:0}.stb-insight-desc{margin:6px 0 0;font-size:13px;color:#475569;line-height:1.5}.stb-insight-action{margin:10px 0 0;font-size:13px;font-weight:600;color:#0f172a}.stb-insight-action span{font-weight:400;color:#475569}.stb-grid-2{display:grid;grid-template-columns:1fr;gap:20px}@media(min-width:1280px){.stb-grid-2{grid-template-columns:repeat(2,1fr)}}.stb-grid-3{display:grid;grid-template-columns:1fr;gap:20px}@media(min-width:1280px){.stb-grid-3{grid-template-columns:repeat(3,1fr)}.stb-grid-3>.stb-span-2{grid-column:span 2}.stb-grid-3>.stb-span-3{grid-column:span 3}}.stb-col-stack{display:flex;flex-direction:column;gap:20px}.stb-insight-col{display:flex;flex-direction:column;gap:12px}.stb-section-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#0f172a;margin:0}.stb-gap-card{background:#fff;border:1px solid var(--dash-line, #e1e7f0);border-radius:10px;box-shadow:0 8px 20px #1224400a;padding:16px}.stb-gap-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.stb-gap-card h4{font-size:14px;font-weight:600;color:#0f172a;margin:0}.stb-gap-card p{margin:0;font-size:13px;color:#475569;line-height:1.5}.stb-table-section{background:#fff;border:1px solid var(--dash-line, #e1e7f0);border-radius:10px;box-shadow:0 8px 20px #1224400a;padding:20px}.stb-table-section h3{font-size:15px;font-weight:600;color:#0f172a;margin:0 0 16px}.stb-table-wrap{overflow-x:auto}.stb-table{width:100%;min-width:920px;border-collapse:collapse;font-size:13px}.stb-table thead tr{border-bottom:1px solid var(--dash-line, #e1e7f0)}.stb-table th{padding:10px 14px 10px 0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b;text-align:left;white-space:nowrap}.stb-table th.tr,.stb-table td.tr{text-align:right}.stb-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .1s}.stb-table tbody tr:hover{background:#f8fafc}.stb-table td{padding:10px 14px 10px 0;color:#334155}.stb-table .cell-bold{font-weight:600;color:#0f172a}.stb-table .cell-opp{font-weight:500;color:#d97706}.stb-inference-section{background:#fff;border:1px solid var(--dash-line, #e1e7f0);border-radius:10px;box-shadow:0 8px 20px #1224400a;padding:20px}.stb-inference-section h3{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#0f172a;margin:0 0 14px}.stb-inference-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:768px){.stb-inference-grid{grid-template-columns:repeat(2,1fr)}}.stb-inference-item{background:#f8fafc;border:1px solid var(--dash-line, #e1e7f0);border-radius:10px;padding:14px}.stb-inference-item .inf-rule{font-size:13px;font-weight:600;color:#0f172a;margin:0 0 4px}.stb-inference-item .inf-action{font-size:13px;color:#475569;margin:0;line-height:1.5}.stb-proms-cards{display:flex;flex-direction:column;gap:14px}.stb-footer{background:#fff;border:1px solid var(--dash-line, #e1e7f0);border-radius:16px;box-shadow:0 8px 20px #1224400a;padding:20px;font-size:13px;color:#475569;line-height:1.6}.stb-footer-title{font-size:14px;font-weight:600;color:#0f172a;margin:0 0 6px}
