@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--coral:#e8553e;--coral-light:#f07b65;--coral-dark:#c8402b;--teal:#7bbfb0;--teal-light:#9dd4c7;--teal-dark:#5a9f90;--cream:#fdf5f0;--sema-red:#e8402a;--sema-orange:#f07832;--sema-yellow:#d4a020;--sema-green:#8fb847;--white:#fff;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--shadow-sm:0 1px 3px #00000012;--shadow-md:0 4px 16px #00000017;--shadow-lg:0 8px 32px #0000001c;--shadow-xl:0 20px 60px #00000024;--radius-sm:6px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--transition:all .2s cubic-bezier(.4, 0, .2, 1);--transition-slow:all .4s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--gray-50);color:var(--gray-800);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}#root{min-height:100vh;display:flex}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--coral)}.main-content{background:var(--gray-50);flex-direction:column;flex:1;min-width:0;display:flex;overflow-x:hidden}.page-container{flex:1;width:100%;padding:28px}@media (width<=768px){.main-content{padding-top:60px}.page-container{padding:16px}}.gradient-sema{background:linear-gradient(135deg, var(--sema-red) 0%, var(--sema-orange) 50%, var(--sema-green) 100%)}.gradient-coral{background:linear-gradient(135deg, var(--coral) 0%, var(--coral-light) 100%)}.gradient-teal{background:linear-gradient(135deg, var(--teal-dark) 0%, var(--teal-light) 100%)}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--gray-100);transition:var(--transition);padding:22px}.card:hover{box-shadow:var(--shadow-lg)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);white-space:nowrap;border:none;align-items:center;gap:7px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg, var(--coral) 0%, var(--coral-dark) 100%);color:#fff;box-shadow:0 4px 14px #e8553e52}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 6px 20px #e8553e6b}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-teal{background:linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 100%);color:#fff;box-shadow:0 4px 14px #7bbfb052}.btn-teal:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-outline{color:var(--coral);border:2px solid var(--coral);background:0 0}.btn-outline:hover{background:var(--coral);color:#fff}.btn-ghost{background:var(--gray-100);color:var(--gray-700);border:none}.btn-ghost:hover{background:var(--gray-200)}.btn-danger{background:linear-gradient(135deg, var(--danger) 0%, #dc2626 100%);color:#fff}.btn-danger:hover{filter:brightness(1.08)}.btn-sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:13px}.btn-lg{padding:13px 26px;font-size:15px}.btn-icon{border-radius:var(--radius-md);padding:8px}.form-group{margin-bottom:16px}.form-label{color:var(--gray-600);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.form-control{border:2px solid var(--gray-200);border-radius:var(--radius-md);width:100%;color:var(--gray-800);background:var(--white);transition:var(--transition);-webkit-appearance:none;outline:none;padding:10px 13px;font-family:inherit;font-size:14px}.form-control:focus{border-color:var(--coral);box-shadow:0 0 0 3px #e8553e1a}.form-control::placeholder{color:var(--gray-400)}textarea.form-control{resize:vertical;min-height:100px}select.form-control{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.badge{border-radius:var(--radius-full);white-space:nowrap;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge-coral{color:var(--coral-dark);background:#e8553e1a}.badge-teal{color:var(--teal-dark);background:#7bbfb026}.badge-success{color:#15803d;background:#22c55e1f}.badge-warning{color:#92400e;background:#f59e0b1f}.badge-info{color:#1d4ed8;background:#3b82f61f}.badge-gray{background:var(--gray-100);color:var(--gray-600)}.chip-semapp{color:var(--coral-dark);border-radius:var(--radius-full);white-space:nowrap;background:#e8553e1a;border:1px solid #e8553e38;padding:3px 11px;font-size:12px;font-weight:700}.chip-semalife{color:#4e7015;border-radius:var(--radius-full);white-space:nowrap;background:#8fb8471a;border:1px solid #8fb84747;padding:3px 11px;font-size:12px;font-weight:700}.table-wrapper{border-radius:var(--radius-md);border:1px solid var(--gray-200);-webkit-overflow-scrolling:touch;overflow:auto hidden}table{border-collapse:collapse;width:100%;min-width:580px;font-size:14px}thead{background:var(--gray-50)}th{text-align:left;color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--gray-200);white-space:nowrap;padding:11px 14px;font-size:11px;font-weight:700}td{border-bottom:1px solid var(--gray-100);color:var(--gray-700);padding:13px 14px}tr:last-child td{border-bottom:none}tbody tr{transition:var(--transition)}tbody tr:hover{background:var(--cream)}.modal-overlay{z-index:1000;background:#00000085;justify-content:center;align-items:center;padding:16px;animation:.18s fadeIn;display:flex;position:fixed;inset:0}.modal-box{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:480px;padding:28px 24px;animation:.22s slideUp}.modal-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.toast-container{z-index:2000;flex-direction:column;gap:8px;max-width:calc(100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--radius-md);color:#fff;box-shadow:var(--shadow-lg);align-items:center;gap:10px;min-width:240px;max-width:340px;padding:13px 18px;font-size:13px;font-weight:500;animation:.28s slideUp;display:flex}.toast-success{background:var(--success)}.toast-error{background:var(--danger)}.toast-warning{background:var(--warning)}.toast-info{background:var(--info)}.page-header{margin-bottom:24px}.page-header h1{color:var(--gray-900);font-size:24px;font-weight:800;line-height:1.2}.page-header p{color:var(--gray-500);margin-top:3px;font-size:14px}.search-bar{position:relative}.search-bar input{padding-left:38px}.search-icon{color:var(--gray-400);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.empty-state{text-align:center;color:var(--gray-400);padding:50px 16px}.empty-state svg{opacity:.35;margin:0 auto 14px;display:block}.empty-state p{font-size:14px}.week-badge{background:linear-gradient(135deg, var(--coral), var(--coral-dark));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:inline-flex}.section-title{color:var(--gray-800);align-items:center;gap:10px;margin-bottom:16px;font-size:16px;font-weight:700;display:flex}.section-title span.accent{background:linear-gradient(180deg, var(--coral) 0%, var(--teal) 100%);border-radius:2px;flex-shrink:0;width:4px;height:18px;display:inline-block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.8}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}@media (width<=1280px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=1024px){.stats-grid{grid-template-columns:repeat(3,1fr)}.charts-grid{grid-template-columns:1fr}}@media (width<=768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.charts-grid{grid-template-columns:1fr;gap:14px}.page-header h1{font-size:20px}.card{padding:16px}table{min-width:600px;font-size:13px}th,td{padding:10px 12px}}@media (width<=480px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.charts-grid{grid-template-columns:1fr}.btn{padding:9px 14px;font-size:13px}.btn-lg{padding:11px 20px;font-size:14px}.modal-box{padding:22px 18px}.modal-actions{flex-direction:column}.modal-actions .btn{justify-content:center;width:100%}.toast-container{max-width:100%;bottom:12px;left:12px;right:12px}.toast{min-width:unset;max-width:100%}}.sidebar{z-index:100;background:linear-gradient(#1a0f0b 0%,#2c1810 40%,#1a2a1a 100%);flex-direction:column;flex-shrink:0;width:240px;height:100vh;min-height:100vh;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;position:sticky;top:0;overflow:hidden}.sidebar.collapsed{width:70px}.sidebar-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:10px;padding:20px 16px 16px;display:flex}.sidebar-logo{flex:1;align-items:center;gap:12px;display:flex;overflow:hidden}.sidebar-logo-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex;overflow:hidden;box-shadow:0 4px 12px #0003}.sidebar-logo-img{object-fit:cover;width:100%;height:100%}.sidebar-logo-text{flex-direction:column;display:flex;overflow:hidden}.logo-name{white-space:nowrap;background:linear-gradient(135deg, var(--coral-light) 0%, var(--sema-orange) 100%);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;font-size:16px;font-weight:800}.logo-sub{color:#ffffff59;white-space:nowrap;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.sidebar-collapse-btn{color:#fff6;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.sidebar-collapse-btn:hover{color:#fff;background:#ffffff1a}.sidebar-nav{flex-direction:column;flex:1;gap:3px;padding:12px 10px;display:flex;overflow:hidden auto}.nav-item{color:#ffffff80;white-space:nowrap;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative;overflow:hidden}.nav-item:hover{color:#ffffffd9;background:#ffffff0f}.nav-item.active{color:#fff;background:linear-gradient(135deg,#e8553e38 0%,#f078321f 100%);border:1px solid #e8553e33}.nav-item.active:before{content:"";background:linear-gradient(180deg, var(--coral) 0%, var(--sema-orange) 100%);border-radius:0 2px 2px 0;width:3px;height:60%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;display:flex}.nav-label{text-overflow:ellipsis;overflow:hidden}.sidebar-user-area{border-top:1px solid #ffffff0f;padding:10px;position:relative}.sidebar-user-btn{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:10px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-family:inherit;transition:all .2s;display:flex;overflow:hidden}.sidebar-user-btn:hover,.sidebar-user-btn.open{background:#ffffff17;border-color:#ffffff1f}.user-avatar{background:linear-gradient(135deg, var(--coral) 0%, var(--sema-orange) 100%);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:flex}.user-info{text-align:left;flex-direction:column;flex:1;display:flex;overflow:hidden}.user-name{color:#ffffffd9;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.user-role{color:#ffffff59;white-space:nowrap;font-size:11px}.user-chevron{color:#ffffff4d;flex-shrink:0;transition:transform .2s}.user-chevron.rotated{transform:rotate(180deg)}.user-menu{z-index:200;background:#1e1611;border:1px solid #ffffff1a;border-radius:12px;animation:.15s slideUp;position:absolute;bottom:calc(100% + 4px);left:10px;right:10px;overflow:hidden;box-shadow:0 -12px 40px #0006}.user-menu-header{flex-direction:column;gap:2px;padding:12px 14px;display:flex}.user-menu-header strong{color:#ffffffd9;font-size:13px}.user-menu-header span{color:#ffffff59;font-size:11px}.user-menu-divider{background:#ffffff12;height:1px}.user-menu-item{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:11px 14px;font-family:inherit;font-size:13px;transition:background .15s;display:flex}.user-menu-item.logout{color:#fca5a5}.user-menu-item.logout:hover{background:#ef44441a}.sidebar-footer{border-top:1px solid #ffffff0d;padding:12px 16px}.sidebar-footer-badge{color:#ffffff59;align-items:center;gap:8px;font-size:12px;display:flex}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot-green{background:var(--success);box-shadow:0 0 6px var(--success);animation:2s infinite pulse}.sidebar-hamburger{z-index:200;background:var(--coral);color:#fff;cursor:pointer;width:40px;height:40px;box-shadow:var(--shadow-md);border:none;border-radius:10px;justify-content:center;align-items:center;display:none;position:fixed;top:16px;left:16px}.sidebar-backdrop{z-index:99;background:#00000080;display:none;position:fixed;inset:0}@media (width<=768px){.sidebar{transition:left .3s,width .3s;position:fixed;left:-240px;width:240px!important}.sidebar.mobile-open{left:0}.sidebar-hamburger{display:flex}.sidebar-backdrop{display:block}}.drp-root{display:inline-block;position:relative}.drp-trigger{background:var(--white);border:2px solid var(--gray-200);border-radius:var(--radius-md);color:var(--gray-700);cursor:pointer;transition:var(--transition);white-space:nowrap;align-items:center;gap:8px;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.drp-trigger:hover,.drp-trigger.open{border-color:var(--coral);color:var(--coral);box-shadow:0 0 0 3px #e8553e1a}.drp-label{text-overflow:ellipsis;max-width:220px;overflow:hidden}.drp-chevron{flex-shrink:0;transition:transform .2s}.drp-chevron.rotated{transform:rotate(180deg)}.drp-clear{background:var(--gray-200);width:16px;height:16px;color:var(--gray-600);transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;margin-left:2px;display:flex}.drp-clear:hover{background:var(--coral);color:#fff}.drp-dropdown{z-index:500;background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-xl);width:340px;padding:18px;animation:.15s slideUp;position:absolute;top:calc(100% + 8px);right:0}.drp-section-label{color:var(--gray-400);text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px;font-size:11px;font-weight:700}.drp-preset-btns{flex-wrap:wrap;gap:6px;display:flex}.drp-preset-btn{border-radius:var(--radius-md);cursor:pointer;border:2px solid var(--gray-200);background:var(--gray-50);color:var(--gray-600);transition:var(--transition);padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600}.drp-preset-btn:hover{border-color:var(--coral);color:var(--coral)}.drp-preset-btn.active{background:var(--coral);border-color:var(--coral);color:#fff}.drp-divider{background:var(--gray-100);height:1px;margin:16px 0}.drp-inputs{align-items:center;gap:10px;display:flex}.drp-input-group{flex-direction:column;flex:1;gap:5px;display:flex}.drp-input-group label{color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.drp-input-group .form-control{padding:8px 10px;font-size:13px}.drp-arrow{color:var(--gray-300);flex-shrink:0;margin-top:18px;font-size:18px}.drp-error{color:var(--danger);margin-top:6px;font-size:12px}.drp-footer{border-top:1px solid var(--gray-100);color:var(--gray-500);flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding-top:12px;font-size:12px;display:flex}.drp-footer strong{color:var(--gray-800);font-weight:600}@media (width<=640px){.drp-label{max-width:120px}.drp-dropdown{width:auto;max-height:80vh;position:fixed;top:auto;bottom:12px;overflow-y:auto;left:12px!important;right:12px!important}.drp-inputs{flex-direction:column}.drp-arrow{display:none}.drp-input-group{width:100%}}.dashboard-page{width:100%;padding:28px}.dash-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;display:flex}.dash-title-group{align-items:center;gap:16px;display:flex}.dash-main-logo{object-fit:cover;border-radius:12px;width:48px;height:48px;box-shadow:0 4px 12px #00000014}.period-banner{color:var(--gray-500);border-radius:var(--radius-full);background:#e8553e0f;border:1px solid #e8553e26;align-items:center;gap:6px;margin-top:4px;padding:5px 14px;font-size:12.5px;display:inline-flex}.source-selector-wrapper{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:22px;display:flex}.source-selector{background:var(--gray-100);border-radius:var(--radius-full);gap:4px;padding:4px;display:inline-flex}.source-tab{border-radius:var(--radius-full);color:var(--gray-500);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:7px;padding:7px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:all .22s;display:inline-flex}.source-tab:hover{color:var(--gray-800);background:#ffffffbf}.source-tab.active{color:var(--coral-dark);background:#fff;box-shadow:0 2px 10px #0000001a}.source-tab-emoji{font-size:15px}.source-tab-logo{object-fit:cover;border-radius:4px;width:18px;height:18px}.source-active-badge{color:var(--coral-dark);border-radius:var(--radius-full);background:#e8553e14;border:1px solid #e8553e2e;align-items:center;gap:5px;padding:4px 12px;font-size:12px;display:inline-flex}.source-active-badge strong{font-weight:700}.stat-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--gray-100);transition:var(--transition);padding:20px 22px;position:relative;overflow:hidden}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.stat-card:after{content:"";background:linear-gradient(90deg, var(--coral) 0%, var(--sema-orange) 100%);opacity:0;height:3px;transition:opacity .2s;position:absolute;top:0;left:0;right:0}.stat-card:hover:after{opacity:1}.stat-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-change-badge{border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:3px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.stat-change-badge.up{color:#15803d;background:#22c55e1a}.stat-change-badge.down{color:#dc2626;background:#ef44441a}.stat-change-badge.neutral{color:#4b5563;background:#6b72801a}.stat-value{color:var(--gray-900);letter-spacing:-.02em;font-size:30px;font-weight:900;line-height:1}.stat-label{color:var(--gray-500);margin-top:5px;font-size:13px;font-weight:500}.stat-subtitle{color:var(--gray-400);margin-top:4px;font-size:11px}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:28px;display:grid}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-bottom:24px;display:grid}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:18px;display:flex}.section-title{color:var(--gray-800);align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.section-title .accent{background:linear-gradient(180deg, var(--coral) 0%, var(--teal) 100%);border-radius:2px;flex-shrink:0;width:4px;height:18px;display:inline-block}.section-subtitle{color:var(--gray-400);font-size:12px;font-weight:500}.pie-wrapper{position:relative}.pie-center-label{text-align:center;pointer-events:none;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.pie-center-label .big-num{color:var(--gray-900);font-size:26px;font-weight:900;line-height:1;display:block}.pie-center-label .small-text{color:var(--gray-400);font-size:12px;font-weight:500}.chart-tooltip{border:1px solid var(--gray-200);background:#fff;border-radius:10px;padding:10px 14px;font-size:13px;box-shadow:0 4px 20px #0000001a}.tt-label{color:var(--gray-800);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:12px;font-weight:700}.tt-value{align-items:center;gap:7px;margin-bottom:2px;font-weight:600;display:flex}.tt-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.rate-bars{border-top:1px solid var(--gray-100);flex-direction:column;gap:10px;margin-top:16px;padding-top:12px;display:flex}.rate-bar-row{color:var(--gray-600);align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.rate-bar-row .progress-bar{flex:1;height:8px}.rate-pct{color:var(--gray-800);text-align:right;min-width:36px;font-weight:700}.progress-bar{background:var(--gray-100);border-radius:3px;height:6px;overflow:hidden}.progress-fill{border-radius:3px;height:100%;transition:width .8s}.faq-stats-list{flex-direction:column;gap:18px;display:flex}.faq-stat-title{color:var(--gray-800);font-size:13px;font-weight:700}.faq-stat-question{color:var(--gray-400);margin-top:5px;font-size:12px;font-style:italic}.stop-stats-list{flex-direction:column;gap:10px;margin-top:12px;display:flex}.stop-stat-row{align-items:center;gap:8px;font-size:13px;display:flex}.stop-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.stop-label{color:var(--gray-700);white-space:nowrap;text-overflow:ellipsis;flex:none;min-width:120px;max-width:160px;overflow:hidden}.stop-pct{color:var(--gray-800);text-align:right;min-width:36px;font-weight:700}@media (width<=1100px){.stats-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (width<=900px){.dashboard-page{padding:16px}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.charts-grid{grid-template-columns:1fr}.dash-header-row{flex-direction:column;align-items:flex-start;gap:12px}.rate-bars{flex-direction:column}}@media (width<=600px){.stats-grid{grid-template-columns:1fr;gap:8px}.stat-value{font-size:24px}.stat-card{padding:14px 16px}.period-banner{flex-wrap:wrap;font-size:11px}.pie-center-label .big-num{font-size:20px}}.messages-page{width:100%;padding:28px}.program-tabs{gap:14px;margin-bottom:24px;display:flex}.program-tab{border-radius:var(--radius-lg);border:2px solid var(--gray-200);background:var(--white);cursor:pointer;transition:var(--transition);flex-direction:column;flex:1;align-items:flex-start;gap:3px;padding:16px 24px;font-family:inherit;display:flex}.program-tab:hover{border-color:var(--gray-300);transform:translateY(-1px)}.program-tab.active.program-tab-coral{border-color:var(--coral);background:#e8553e0d}.program-tab.active.program-tab-teal{border-color:var(--teal);background:#7bbfb014}.tab-label{color:var(--gray-800);font-size:18px;font-weight:800}.program-tab.active.program-tab-coral .tab-label{color:var(--coral)}.program-tab.active.program-tab-teal .tab-label{color:var(--teal-dark)}.tab-desc{color:var(--gray-400);font-size:12px}.tab-badge{border-radius:var(--radius-full);background:var(--gray-100);color:var(--gray-600);margin-top:4px;padding:2px 10px;font-size:12px;font-weight:700}.program-tab.active.program-tab-coral .tab-badge{color:var(--coral-dark);background:#e8553e1f}.program-tab.active.program-tab-teal .tab-badge{color:var(--teal-dark);background:#7bbfb026}.progress-card{margin-bottom:20px}.missing-weeks{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.missing-week-badge{border-radius:var(--radius-full);background:var(--gray-100);color:var(--gray-500);cursor:pointer;transition:var(--transition);padding:2px 8px;font-size:11px;font-weight:600}.missing-week-badge:hover{background:var(--coral);color:#fff}.form-panel{border-left:4px solid var(--coral);margin-bottom:24px}.form-row{gap:16px;display:flex}.form-row .form-group{margin-bottom:0}.char-count{float:right;color:var(--gray-400);text-transform:none;letter-spacing:0;font-size:11px;font-weight:500}.char-count.over{color:var(--danger)}.messages-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.msg-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200);border-left:4px solid var(--gray-200);transition:var(--transition);box-shadow:var(--shadow-sm);padding:18px}.msg-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.msg-card-semapp{border-left-color:var(--coral)}.msg-card-semalife{border-left-color:var(--teal)}.msg-card-header{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.msg-card-meta{flex:1}.msg-card-title{color:var(--gray-800);font-size:14px;font-weight:700;line-height:1.3}.msg-card-template{color:var(--gray-400);margin-top:2px;font-family:monospace;font-size:11px}.msg-edit-btn{flex-shrink:0;margin-left:auto}.msg-card-content{color:var(--gray-600);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:12px;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.msg-card-footer{color:var(--gray-300);font-size:11px}.modal-icon.warning{color:var(--warning);background:#f59e0b1f}@media (width<=900px){.messages-page{padding:16px}.messages-grid{grid-template-columns:1fr}.form-row{flex-direction:column;gap:12px}}@media (width<=600px){.messages-page{padding:12px}.program-tabs{flex-direction:column;gap:10px}.program-tab{min-height:unset;flex-direction:row;align-items:center;padding:12px 16px}.tab-desc{display:none}.tab-badge{margin-top:0;margin-left:auto}.form-actions{flex-direction:column}.form-actions .btn{justify-content:center;width:100%}}.faq-page{width:100%;padding:28px}.faq-stats-strip{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.faq-stat-pill{border-radius:var(--radius-full);color:var(--coral-dark);background:#e8553e14;border:1px solid #e8553e33;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.faq-list{flex-direction:column;display:flex}.faq-row{border-bottom:1px solid var(--gray-100);transition:var(--transition)}.faq-row:last-child{border-bottom:none}.faq-row.expanded{background:var(--cream)}.faq-row-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:14px;padding:18px 20px;display:flex}.faq-row-header:hover{background:var(--gray-50)}.faq-row.expanded .faq-row-header{background:var(--cream)}.faq-row-content{flex:1;overflow:hidden}.faq-row-title{color:var(--gray-800);font-size:14px;font-weight:700}.faq-row-question{color:var(--gray-500);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;overflow:hidden}.faq-row-actions{flex-shrink:0;gap:6px;display:flex}.faq-chevron{color:var(--gray-400);flex-shrink:0;font-size:10px}.faq-row-answer{padding:0 20px 18px 66px;animation:.2s slideUp}.answer-label{color:var(--coral);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:12px;font-weight:700}.faq-row-answer p{color:var(--gray-600);font-size:14px;line-height:1.7}.char-count{color:var(--gray-400);font-size:11px;font-weight:600}.text-danger{color:var(--danger)!important}.modal-title{text-align:center;color:var(--gray-900);margin-bottom:10px;font-size:20px;font-weight:800}@media (width<=768px){.faq-page{padding:16px}.faq-row-answer{padding:0 16px 16px 56px}.form-actions{flex-direction:column}}@media (width<=480px){.faq-page{padding:12px}.faq-row-header{gap:10px;padding:14px}.faq-index{width:28px;height:28px;font-size:12px}.faq-row-answer{padding:0 14px 14px 50px}.form-actions .btn{justify-content:center;width:100%}}.stop-page{width:100%;padding:28px}.stop-header-stats{gap:16px;margin-bottom:24px;display:flex}.stop-stat-box{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:4px;padding:16px 24px;display:flex}.stop-stat-num{color:var(--coral);font-size:28px;font-weight:800}.stop-stat-label{color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:500}.reason-code{background:var(--gray-100);color:var(--gray-700);border-radius:4px;padding:2px 8px;font-family:Courier New,monospace;font-size:12px}.pct-cell{align-items:center;gap:10px;display:flex}.mini-bar{background:var(--gray-100);border-radius:3px;flex:1;min-width:60px;height:6px;overflow:hidden}.mini-fill{background:linear-gradient(90deg, var(--coral) 0%, var(--sema-orange) 100%);border-radius:3px;height:100%;transition:width .6s}.pct-txt{color:var(--gray-700);text-align:right;min-width:34px;font-size:13px;font-weight:700}.faq-index{width:32px;height:32px;color:var(--coral);background:#e8553e1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.form-panel{border-left:4px solid var(--coral)}.form-panel-title{color:var(--gray-800);margin-bottom:20px;font-size:16px;font-weight:700}.form-actions{justify-content:flex-end;gap:12px;padding-top:8px;display:flex}.modal-title{text-align:center;margin-bottom:10px;font-size:20px;font-weight:800}.modal-desc{text-align:center;color:var(--gray-500);margin-bottom:24px;font-size:14px;line-height:1.6}.modal-actions{justify-content:center;gap:12px;display:flex}.modal-icon{border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;display:flex}.modal-icon.danger{color:var(--danger);background:#ef44441a}@media (width<=768px){.stop-page{padding:16px}.stop-header-stats{gap:10px}.stop-stat-box{flex:1;min-width:140px;padding:12px 16px}}@media (width<=480px){.stop-page{padding:12px}.stop-stat-box{min-width:100%}.form-actions{flex-direction:column}.form-actions .btn{justify-content:center;width:100%}.pct-cell{flex-direction:column;align-items:stretch;gap:4px}}.patients-page{width:100%;padding:28px}.patients-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:4px;display:flex}.patients-header-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.period-toggle-btn{border-radius:var(--radius-full);border:1.5px solid var(--gray-200);color:var(--gray-500);cursor:pointer;white-space:nowrap;background:#fff;align-items:center;gap:7px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.period-toggle-btn:hover{border-color:var(--coral);color:var(--coral-dark);background:#e8553e0a}.period-toggle-btn.active{border-color:var(--coral);color:var(--coral-dark);background:#e8553e14}.period-banner{color:var(--gray-500);border-radius:var(--radius-full);background:#e8553e0f;border:1px solid #e8553e26;align-items:center;gap:6px;padding:5px 14px;font-size:12.5px;display:inline-flex}.period-banner strong{color:var(--coral-dark)}.filter-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);background:#fff;margin-bottom:24px;padding:24px}.filter-group{margin-bottom:20px}.filter-group:last-child{margin-bottom:0}.filter-label{color:var(--gray-400);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:6px;margin-bottom:10px;font-size:11px;font-weight:700;display:flex}.program-selector{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.program-btn{border-radius:var(--radius-md);border:2.5px solid var(--gray-100);background:var(--gray-50);cursor:pointer;text-align:left;align-items:center;gap:12px;padding:14px 20px;font-family:inherit;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.program-btn:hover{border-color:var(--gray-200);background:#fff;transform:translateY(-1px)}.program-btn.active.all{border-color:var(--gray-400);background:#fff;border-width:2.5px}.program-btn.active.semapp{border-color:var(--coral);background:#e8553e0a;border-width:2.5px}.program-btn.active.semalife{border-color:var(--teal);background:#7bbfb00a;border-width:2.5px}.prog-info{flex-direction:column;display:flex}.prog-name{color:var(--gray-800);font-size:15px;font-weight:800}.prog-count{color:var(--gray-400);font-size:12px;font-weight:500}.program-btn.active .prog-name{color:var(--gray-900)}.program-btn.active.semapp .prog-name{color:var(--coral-dark)}.program-btn.active.semalife .prog-name{color:var(--teal-dark)}.filters-secondary-row{border-top:1px solid var(--gray-100);flex-wrap:wrap;align-items:center;gap:16px;padding-top:20px;display:flex}.search-wrapper{flex:1;min-width:250px;position:relative}.search-wrapper .search-icon{color:var(--gray-400);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-input{border-radius:var(--radius-md);border:1.5px solid var(--gray-200);width:100%;padding:10px 14px 10px 42px;font-size:14px;transition:all .2s}.search-input:focus{border-color:var(--coral);outline:none;box-shadow:0 0 0 3px #e8553e1a}.status-segmented{background:var(--gray-100);border-radius:var(--radius-md);gap:2px;padding:4px;display:flex}.status-btn{border-radius:calc(var(--radius-md) - 2px);color:var(--gray-500);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:flex}.status-btn:hover{color:var(--gray-700)}.status-btn.active{color:var(--gray-900);box-shadow:var(--shadow-sm);background:#fff}.status-btn.active.active-status{color:var(--success)}.status-btn.active.inactive-status,.status-btn.active.unread-status{color:var(--danger)}.patient-id{color:var(--coral);font-family:Courier New,monospace;font-size:13px;font-weight:700}.row-expanded td{background:var(--cream)}.expanded-row td{background:var(--cream);border-bottom:2px solid var(--gray-200);padding:0}.patient-detail{flex-wrap:wrap;gap:28px;padding:20px 24px 22px;display:flex}.detail-section{flex:1;min-width:220px}.detail-title{color:var(--gray-600);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;font-size:12px;font-weight:700}.detail-empty{color:var(--gray-400);font-size:13px}.logs-strip{flex-wrap:wrap;gap:5px;margin-bottom:10px;display:flex}.log-dot{cursor:default;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:flex}.log-dot-read{color:#15803d;background:#22c55e26;border:1px solid #22c55e4d}.log-dot-delivered{color:var(--teal-dark);background:#7bbfb026;border:1px solid #7bbfb04d}.log-dot-sent{color:#1d4ed8;background:#3b82f61f;border:1px solid #3b82f640}.log-dot-failed{color:#dc2626;background:#ef44441a;border:1px solid #ef444440}.log-legend{color:var(--gray-500);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.log-legend .log-dot{display:inline-flex!important}.prog-detail-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.prog-detail-item{flex-direction:column;gap:2px;display:flex}.prog-detail-item span:first-child{color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.prog-detail-item strong{color:var(--gray-800);font-size:13px}.stop-detail{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.week-progress{align-items:center;gap:8px;display:flex}.mini-bar{background:var(--gray-100);border-radius:3px;height:6px;overflow:hidden}.mini-fill{border-radius:3px;height:100%;transition:width .5s}.results-count{color:var(--gray-400);text-align:right;margin-top:12px;font-size:13px}@media (width<=900px){.patients-page{padding:16px}.patient-quick-stats{gap:8px}.patients-filters{flex-direction:column;align-items:stretch}.patients-filters .search-bar,.patients-filters select{width:100%!important}.patients-header-row{flex-direction:column;align-items:stretch;gap:12px}.patient-detail{flex-direction:column;gap:16px}.prog-detail-grid{grid-template-columns:1fr}}@media (width<=480px){.patients-page{padding:12px}.pqs-item{min-width:80px;padding:10px}.pqs-num{font-size:20px}.pqs-lbl{font-size:10px}.logs-strip{gap:3px}.log-dot{width:22px;height:22px;font-size:9px}}.login-page{background:#0d0806;width:100vw;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-bg{pointer-events:none;z-index:0;position:fixed;inset:0}.bg-blob{filter:blur(90px);opacity:.18;border-radius:50%;animation:9s ease-in-out infinite blobFloat;position:absolute}.blob-1{background:var(--coral);width:500px;height:500px;animation-delay:0s;top:-120px;left:-120px}.blob-2{background:var(--teal);width:420px;height:420px;animation-delay:3.5s;bottom:-100px;right:-100px}.blob-3{background:var(--sema-orange);width:320px;height:320px;animation-delay:6s;top:45%;left:38%}@keyframes blobFloat{0%,to{transform:translate(0)scale(1)}33%{transform:translate(20px,-18px)scale(1.06)}66%{transform:translate(-12px,14px)scale(.96)}}.login-container{z-index:1;width:100%;min-height:100vh;display:flex;position:relative}.login-branding{background:linear-gradient(135deg,#e8553e1a 0%,#7bbfb00d 55%,#8fb84712 100%);border-right:1px solid #ffffff0f;flex-direction:column;flex:1.1;justify-content:space-between;padding:48px 56px;display:flex}.brand-content{flex-direction:column;flex:1;justify-content:center;display:flex}.brand-logo{object-fit:cover;border:3px solid #ffffff14;border-radius:24px;width:110px;height:110px;margin-bottom:28px;box-shadow:0 20px 60px #e8553e59}.brand-title{background:linear-gradient(135deg, var(--coral-light) 0%, var(--sema-orange) 100%);-webkit-text-fill-color:transparent;letter-spacing:-.03em;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:48px;font-weight:900;line-height:1}.brand-subtitle{color:#ffffff6b;margin-bottom:48px;font-size:16px;font-weight:400}.brand-features{flex-direction:column;gap:18px;display:flex}.brand-feature{color:#ffffff9e;align-items:center;gap:14px;font-size:14px;line-height:1.5;display:flex}.feat-icon{background:#ffffff0d;border:1px solid #ffffff12;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.brand-footer{color:#ffffff47;align-items:center;gap:12px;padding-top:32px;font-size:13px;display:flex}.semalife-badge{object-fit:cover;border:2px solid #ffffff1a;border-radius:50%;width:36px;height:36px}.login-form-panel{background:#ffffff05;flex:1;justify-content:center;align-items:center;min-width:0;padding:40px 32px;display:flex}.login-card{width:100%;max-width:400px}.login-card-header{text-align:center;margin-bottom:34px}.login-logo-sm{background:linear-gradient(135deg, var(--coral) 0%, var(--sema-orange) 100%);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:54px;height:54px;margin:0 auto 18px;display:flex;box-shadow:0 8px 28px #e8553e61}.login-title{color:#fffffff2;letter-spacing:-.02em;margin-bottom:6px;font-size:28px;font-weight:800}.login-sub{color:#ffffff61;font-size:14px}.login-form{flex-direction:column;gap:6px;display:flex}.login-form .form-label{color:#ffffff8c}.login-form .form-control{color:#ffffffeb;background:#ffffff12;border-color:#ffffff1a}.login-form .form-control:focus{border-color:var(--coral);background:#ffffff1a;box-shadow:0 0 0 3px #e8553e2e}.login-form .form-control::placeholder{color:#ffffff38}.input-icon-wrap{position:relative}.input-icon{color:#ffffff47;pointer-events:none;z-index:1;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.input-with-icon{padding-left:40px}.input-with-action{padding-right:42px}.input-action-btn{cursor:pointer;color:#ffffff4d;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.input-action-btn:hover{color:#ffffffb3}.login-error{border-radius:var(--radius-md);color:#fca5a5;background:#ef44441f;border:1px solid #ef444440;align-items:center;gap:8px;margin-bottom:4px;padding:12px 14px;font-size:13px;display:flex}.login-btn{letter-spacing:.01em;justify-content:center;width:100%;height:50px;margin-top:10px;font-size:15px}.login-btn.loading{opacity:.75;cursor:not-allowed}.spinner{border:2.5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-demo{text-align:center;margin-top:18px}.login-demo p{color:#ffffff38;margin-bottom:5px;font-size:12px}.demo-link{color:var(--coral-light);cursor:pointer;opacity:.7;background:0 0;border:none;font-family:inherit;font-size:13px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;transition:opacity .2s}.demo-link:hover{opacity:1}.login-card-footer{text-align:center;color:#ffffff2e;margin-top:40px;font-size:12px}@media (width<=900px){.login-branding{display:none}.login-form-panel{background:#0d0806;flex:1;width:100%;padding:40px 24px}.login-card{max-width:420px}}@media (width<=480px){.login-form-panel{padding:32px 20px}.login-title{font-size:24px}.brand-title{font-size:36px}}.app-shell{width:100%;min-height:100vh;display:flex}.main-content{background:var(--gray-50);flex:1;min-width:0;overflow-x:hidden}
