:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--text-primary: #1a1a1a;--text-secondary: #4a4a4a;--text-tertiary: #6a6a6a;--border-color: #dee2e6;--shadow: rgba(0, 0, 0, .1);--accent-color: #b31a1a;--accent-hover: #8b1515;--link-color: #007bff;--link-hover: #0056b3;--success-color: #28a745;--warning-color: #ffc107;--error-color: #dc3545;--info-color: #17a2b8;background-color:var(--bg-primary);color:var(--text-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--mobile-padding: 12px;--tablet-padding: 20px;--desktop-padding: 24px;--touch-target-min: 36px;--mobile-font-base: 14px;--mobile-line-height: 1.4}.dark-mode{--bg-primary: #1e1e1e;--bg-secondary: #2d2d2d;--bg-tertiary: #3a3a3a;--text-primary: #ffffff;--text-secondary: #cccccc;--text-tertiary: #999999;--border-color: #4a4a4a;--shadow: rgba(0, 0, 0, .5);--accent-color: #ff6b6b;--accent-hover: #ff5252;--link-color: #5dade2;--link-hover: #3498db;--success-color: #5dcc66;--warning-color: #ffd43b;--error-color: #ff6b6b;--info-color: #3498db;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{min-height:100vh;padding:0;margin:0;overflow-x:hidden;font-family:Arial,sans-serif;background-color:var(--bg-primary);line-height:var(--mobile-line-height);color:var(--text-primary);font-size:var(--mobile-font-base);transition:background-color .3s ease,color .3s ease}@media (hover: hover) and (pointer: fine){body{scroll-behavior:smooth}}#app{width:100%;margin:0 auto;text-align:center;min-height:100vh;display:flex;flex-direction:column}.btn,button,.touch-target{min-height:var(--touch-target-min);padding:8px 12px;border-radius:4px;font-size:14px;line-height:1.2;touch-action:manipulation;cursor:pointer;transition:all .2s ease}input[type=checkbox]{margin-right:8px;width:16px!important;height:16px!important;min-height:16px!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid var(--text-secondary);border-radius:2px;background-color:var(--bg-primary);cursor:pointer;position:relative;flex-shrink:0;padding:0!important;transition:all .2s ease}input[type=checkbox]:checked{background-color:#007bff;border-color:#007bff}input[type=checkbox]:checked:after{content:"\2713";position:absolute;top:-2px;left:2px;color:#fff;font-size:12px;font-weight:700}input[type=checkbox]:hover{border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}input[type=checkbox]:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff33}input[type=checkbox]:disabled{background-color:var(--bg-secondary);border-color:var(--border-color);cursor:not-allowed;opacity:.6}input[type=checkbox]:disabled:checked{background-color:var(--text-secondary);border-color:var(--text-secondary)}.btn:active,button:active,.touch-target:active{transform:scale(.98);opacity:.8}input,textarea,select{font-size:14px;padding:8px;border-radius:4px;border:1px solid #e1e5e9;min-height:32px;width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none}input:focus,textarea:focus,select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db1a}@media (max-width: 480px){body{padding:8px;font-size:14px}.app-container{border-radius:4px;min-height:calc(100vh - 16px);max-width:100%}}@media (max-width: 768px){body{padding:10px}.app-container{border-radius:4px;min-height:calc(100vh - 20px);max-width:100%}}@media (max-width: 480px){body{padding:5px}.app-container{border-radius:0;min-height:calc(100vh - 10px);box-shadow:none;max-width:100%}}#app>.container{flex:1;display:flex;flex-direction:column}.main-content{flex:1;background-color:var(--bg-primary);display:flex;flex-direction:column}.nav-background{background-color:#b31a1a}.navbar-logo{height:1.5em;margin-right:.5em;width:30px}.social{padding:1rem;background-color:#eeeeec;text-align:left}.social a{display:inline-flex;align-items:center;color:var(--text-primary);text-decoration:none}.social img{width:24px;height:24px;margin-right:.5rem}.footer{background-color:#b31a1a;color:#fff;padding:1rem 0;margin-top:auto}.birth-date{display:inline-flex;align-items:center;gap:10px}.birth-date input[type=date]{padding:8px;font-size:14px;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary);color-scheme:light dark}input[type=date]::-webkit-calendar-picker-indicator{filter:var(--date-picker-filter, none);cursor:pointer;opacity:.8}input[type=date]:hover::-webkit-calendar-picker-indicator{opacity:1}.dark-mode input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1)}.age-display{display:flex;gap:20px}.age-value{display:inline-block;padding:8px;border-radius:4px;min-width:60px;text-align:center;color:#fff}.age-days{background-color:#2196f3}.age-months{background-color:#ff9800}.age-years{background-color:#4caf50}.button-container{display:flex;justify-content:center;align-items:center;gap:20px;margin:30px}.vaccine-name{background-color:#ca93f8;font-size:12pt;display:flex;align-items:center;padding-left:10px!important;color:var(--text-primary);text-align:left}.date-input{font-weight:700;font-size:11px;padding:3px 2px;border:1px solid var(--border-color);border-radius:3px;width:98%;box-sizing:border-box;text-align:center;background:var(--bg-primary);min-width:90px}@media (max-width: 480px){.date-input{font-size:10px;padding:2px 1px;width:98%;min-width:85px}}@media (min-width: 481px) and (max-width: 799px){.date-input{font-size:10px;padding:3px 2px;width:98%;min-width:90px}}.cell{border:1px solid var(--border-color);padding:4px;text-align:center;font-size:12px;min-width:120px;position:relative}@media (max-width: 480px){.cell{min-width:100px;max-width:100px;padding:2px;font-size:10px}}@media (min-width: 481px) and (max-width: 799px){.cell{min-width:110px;max-width:110px;padding:3px;font-size:11px}}@media (min-width: 800px) and (max-width: 1038px){.cell{min-width:calc((100vw - 50px) / 7);max-width:calc((100vw - 50px) / 7);padding:4px;font-size:12px}}@media (min-width: 1039px) and (max-width: 1199px){.cell{min-width:130px;max-width:150px;padding:5px;font-size:13px}}@media (min-width: 1200px){.cell{min-width:150px;max-width:165px;padding:6px;font-size:14px}}.row{display:flex;justify-content:flex-start;margin:1px 0;align-items:stretch}@media (max-width: 480px){.row{margin:0}}#chkRisk{margin-left:5px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid var(--text-secondary)!important;background-color:var(--bg-primary)!important}.header-cell{background-color:#b31a1a;color:#fff}#copy-right{color:#fff}#vaccTable{background-color:#f4f4f4;max-width:1200px;width:100%;padding:0 8px;box-sizing:border-box;margin:0 auto}@media (max-width: 480px){#vaccTable{padding:0 4px}}.scrollable-container{display:block;width:100%;overflow-x:auto;overflow-y:visible}@media (max-width: 799px){.scrollable-container{overflow-x:auto;overflow-y:visible;padding-bottom:10px}.scrollable-container .row{display:flex!important;flex-wrap:nowrap!important;min-width:max-content;margin:0!important;align-items:stretch}.scrollable-container .cell{flex:0 0 auto!important;min-width:100px;max-width:100px;white-space:nowrap;overflow:visible;text-overflow:clip}}.grid-container{margin-left:0!important;margin-right:0!important}.grid-container>*{padding-left:0!important;padding-right:0!important}@media (min-width: 800px){.scrollable-container{overflow-x:hidden;overflow-y:visible}.scrollable-container .row{display:flex!important;flex-wrap:nowrap!important;width:100%;margin:0!important;align-items:stretch}.scrollable-container .cell{flex:1 1 0!important;min-width:0;white-space:nowrap;width:auto!important;max-width:none!important;overflow:hidden;text-overflow:ellipsis}}.text-black{font-size:16px;padding-top:10px}.col-lg-1{flex:0 0 20%}.container{max-width:100%;width:100%;padding:0 15px;margin:0 auto}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:1140px}}.top,.desclaimer{background-color:var(--bg-primary)}select{background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:3px;padding:3px 2px;font-size:11px;width:98%;box-sizing:border-box;min-width:80px}@media (max-width: 480px){select{font-size:10px;padding:2px 1px;width:98%;min-width:75px}}@media (min-width: 481px) and (max-width: 799px){select{font-size:10px;padding:3px 2px;width:98%;min-width:80px}}.cell select,.cell input[type=date]{margin:1px 0;display:block}@media (max-width: 480px){.cell select,.cell input[type=date]{margin:1px 0}}.nav-link,.navbar-toggler-icon{color:#fff}.text-danger{color:#dc3545;font-weight:600}.dark-mode .text-danger{color:#ff6b6b;font-weight:600}.older{background-color:var(--bg-primary) f33;color:red}#btnShowAlert{display:none}.disclaimer-heading{color:var(--text-primary)}.disclaimer-contact{color:#010201;padding-bottom:5px;padding-top:10px}.badge-done{background-color:#fcf951;color:#000;font-weight:600}.badge-today{background-color:#2bae66;color:#fff;font-weight:600}.badge-next1{background-color:#fc8f01;color:#000;font-weight:600}.badge-next2{background-color:#759ff7;color:#000;font-weight:600}.badge-others{background-color:#f2edd7;color:#000;font-weight:600}.footer-background{background-color:#b31a1a}.help-main{padding:3rem;text-align:left}@media (max-width: 600px){.help-main{padding:1rem;text-align:left}}#preview-btn{display:none}h1,h2{color:var(--text-primary)}h1{text-align:center}ul{margin-left:20px}.important{color:#d9534f;font-weight:700}.highlight{color:#0275d8;font-weight:700}.color-key span{display:inline-block;width:100px;height:20px;margin-right:10px;text-align:center;line-height:20px;color:#fff;border-radius:3px}#pdf-modal{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;background:var(--bg-primary);border:1px solid var(--border-color);padding:20px;box-shadow:0 4px 8px #0000001a;width:80%;max-height:90%;overflow:auto}#modal-backdrop{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:999}#pdf-preview{width:100%;height:80vh;border:none}#close-modal-btn{background:red;color:#fff;border:none;padding:5px 10px;cursor:pointer;float:right}.table-container{max-width:100%;overflow-x:auto;border:1px solid var(--border-color);margin:20px 0}.vaccine-table{width:auto;min-width:100%;border-collapse:collapse;position:relative;text-align:left}.vaccine-table thead th{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.vaccine-table th,.vaccine-table td{padding:12px;border:1px solid var(--border-color);white-space:nowrap}.vaccine-table thead th{box-shadow:0 2px 2px -1px #0000001a}.gap-5{gap:.5rem!important}.page-container h1{color:#1976d2;border-bottom:2px solid #e0e0e0;padding-bottom:1rem;margin-bottom:2rem}.content{line-height:1.8}.calculator-placeholder{background-color:var(--bg-secondary);padding:2rem;border-radius:8px;text-align:center;margin-top:2rem;border-left:4px solid #1976d2}*{box-sizing:border-box}.page-title{font-size:32px;font-weight:700;color:#d32f2f;margin:0 0 20px;text-align:center;letter-spacing:1px;background-color:var(--bg-primary);padding:20px;border-radius:8px;box-shadow:var(--shadow-sm);border-left:4px solid #d32f2f}.disclaimer{background-color:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:20px;width:100%;box-sizing:border-box;margin-top:20px;margin-bottom:20px}.dark-mode .disclaimer{background-color:#2d2410;border:2px solid #ffc107}.disclaimer h3,.disclaimer h4{color:#856404;font-size:18px;margin:0 0 15px;font-weight:700}.dark-mode .disclaimer h3,.dark-mode .disclaimer h4{color:#ffc107}.disclaimer p{color:#856404;font-size:14px;line-height:1.6;margin:12px 0}.dark-mode .disclaimer p{color:#f0d078}.disclaimer ul{color:#856404;font-size:14px;line-height:1.6;margin:12px 0;padding-left:20px}.dark-mode .disclaimer ul{color:#f0d078}.disclaimer li{color:#856404;margin-bottom:8px}.dark-mode .disclaimer li{color:#f0d078}.disclaimer strong{font-weight:700;color:#856404}.dark-mode .disclaimer strong{color:#ffc107}.disclaimer a{color:#06c;text-decoration:underline;font-weight:700}.dark-mode .disclaimer a{color:#66b3ff}.disclaimer a:hover{color:#049;text-decoration:none}.dark-mode .disclaimer a:hover{color:#9cf}.privacy-notice{background-color:#e7f3ff;border:1px solid #b3d9ff;border-radius:4px;padding:16px 20px;margin-top:20px;margin-bottom:20px;width:100%;box-sizing:border-box}.privacy-notice h4{color:#004085;font-size:16px;margin:0 0 10px;font-weight:600;display:flex;align-items:center;gap:8px}.privacy-notice h4:before{content:"\1f512";font-size:18px}.privacy-notice p{color:#004085;font-size:14px;line-height:1.6;margin:0}.privacy-notice strong{font-weight:600}@media (max-width: 767px){.disclaimer{padding:15px}.disclaimer h3{font-size:16px}.disclaimer p{font-size:13px}.privacy-notice{padding:12px 16px}.privacy-notice h4{font-size:15px}.privacy-notice p{font-size:13px}}@media (max-width: 480px){.disclaimer{padding:12px}.disclaimer h3{font-size:15px}.disclaimer p{font-size:12px;line-height:1.4}.privacy-notice{padding:10px 14px}.privacy-notice h4{font-size:14px}.privacy-notice p{font-size:12px;line-height:1.4}}.form-group{margin-bottom:15px}.form-label{display:block;margin-bottom:5px;font-weight:500;color:var(--text-primary)}.form-input{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;font-size:14px}.btn-primary{background-color:#007bff;border:1px solid #007bff;color:#fff;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px}.btn-primary:hover{background-color:#0056b3;border-color:#0056b3}.tour-highlight-active{box-shadow:0 0 0 4px #667eea80!important;transition:box-shadow .3s ease;position:relative}.dark-mode .tour-highlight-active{box-shadow:0 0 0 4px #667eeab3!important}@keyframes tour-pulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 0 4px #667eea80}50%{opacity:.9;transform:scale(1.02);box-shadow:0 0 0 8px #667eea4d}}.dark-mode .tour-highlight-overlay{animation:tour-pulse-dark 2s ease-in-out infinite}@keyframes tour-pulse-dark{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 0 4px #667eeab3}50%{opacity:.9;transform:scale(1.02);box-shadow:0 0 0 8px #667eea80}}.tour-backdrop{z-index:9998!important}.tour-tooltip{z-index:9999!important}.tour-highlight-overlay{z-index:9998!important}.tour-start-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 24px;border-radius:8px;border:none;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #667eea4d}.tour-start-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.tour-start-button:active{transform:translateY(0)}.tour-banner{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px 24px;border-radius:12px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;animation:slideDown .5s ease;box-shadow:0 4px 16px #667eea40}.dark-mode .tour-banner{background:linear-gradient(135deg,#667eea,#764ba2)}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.tour-banner-content{flex:1}.tour-banner-title{font-size:18px;font-weight:600;margin:0 0 4px}.tour-banner-text{font-size:14px;opacity:.95;margin:0}.tour-banner-actions{display:flex;gap:12px}.tour-banner-button{padding:8px 16px;border-radius:6px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.tour-banner-button-primary{background:#fff;color:#667eea}.tour-banner-button-primary:hover{background:#f0f0f0}.tour-banner-button-secondary{background:#fff3;color:#fff}.tour-banner-button-secondary:hover{background:#ffffff4d}@media (max-width: 768px){.tour-banner{flex-direction:column;align-items:stretch;padding:16px}.tour-banner-actions{width:100%}.tour-banner-button{flex:1}}
