:root{--tac-primary:#1f096d;--tac-primary-dark:#150650;--tac-secondary:#3c1b9e;--tac-app-accent:#4548a0;--tac-highlight:#c36;--tac-tint:#e0dbef;--tac-tint-soft:#f2effa;--tac-bg:#f5f4fa;--tac-surface:#fff;--tac-text:#1f1f29;--tac-text-muted:#69727d;--tac-border:#1f096d14;--tac-shadow:0 6px 16px #1f096d1a;--tac-shadow-sm:0 2px 6px #1f096d14;--tac-radius:18px;--tac-radius-pill:999px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--tac-bg);color:var(--tac-text);-webkit-font-smoothing:antialiased}#root{justify-content:center;min-height:100vh;display:flex}a{color:inherit;text-decoration:none}button{font-family:inherit}.phone-frame{background:var(--tac-bg);flex-direction:column;width:100%;max-width:480px;min-height:100vh;display:flex;position:relative;box-shadow:0 0 40px #1f096d1f}@media (width>=481px){body{background:#e7e5ef}.phone-frame{border-radius:32px;min-height:calc(100vh - 48px);margin:24px 0;overflow:hidden}}.tac-scroll{flex:1;padding-bottom:96px;overflow-y:auto}.section-heading{color:var(--tac-primary);letter-spacing:.02em;margin:24px 16px 10px;font-size:15px;font-weight:700}.tac-header{background:linear-gradient(135deg, var(--tac-primary) 0%, var(--tac-secondary) 100%);color:#fff;padding:20px 16px 28px}.tac-header-row{justify-content:space-between;align-items:center;display:flex}.tac-header-logo{object-fit:contain;height:34px}.tac-header-bell{border-radius:var(--tac-radius-pill);color:#fff;background:#ffffff26;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:relative}.tac-header-badge{background:var(--tac-highlight);color:#fff;border-radius:var(--tac-radius-pill);border:2px solid var(--tac-primary);justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-2px;right:-2px}.tac-header-greeting{margin:16px 0 0;font-size:19px;font-weight:600}.stat-tile{background:var(--tac-surface);border-radius:var(--tac-radius);box-shadow:var(--tac-shadow-sm);border:1px solid var(--tac-border);cursor:default;flex-direction:column;gap:4px;padding:16px 14px;display:flex}.stat-tile-link{cursor:pointer;transition:transform .12s,box-shadow .12s}.stat-tile-link:active{box-shadow:var(--tac-shadow-sm);transform:scale(.97)}.stat-tile-icon{background:var(--tac-tint);width:34px;height:34px;color:var(--tac-primary);border-radius:10px;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.stat-tile-count{color:var(--tac-highlight);font-size:24px;font-weight:800;line-height:1}.stat-tile-label{color:var(--tac-text-muted);font-size:12.5px;font-weight:600}.tour-plan-card{background:linear-gradient(135deg, var(--tac-secondary) 0%, var(--tac-app-accent) 100%);border-radius:var(--tac-radius);color:#fff;box-shadow:var(--tac-shadow);align-items:flex-start;gap:12px;margin:0 16px;padding:16px;display:flex}.tour-plan-icon{background:#ffffff2e;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.tour-plan-title{text-transform:uppercase;letter-spacing:.04em;opacity:.85;margin:0 0 2px;font-size:12px;font-weight:700}.tour-plan-type{margin:0 0 8px;font-size:16px;font-weight:700}.tour-plan-meta{opacity:.95;flex-direction:column;gap:4px;font-size:12.5px;display:flex}.tour-plan-meta span{align-items:center;gap:6px;display:flex}.visit-item{background:var(--tac-surface);border:1px solid var(--tac-border);box-shadow:var(--tac-shadow-sm);border-radius:14px;padding:12px 14px}.visit-item-top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.visit-item-no{color:var(--tac-text-muted);letter-spacing:.03em;font-size:11px;font-weight:700}.visit-item-status{border-radius:var(--tac-radius-pill);padding:3px 9px;font-size:10.5px;font-weight:700}.status-pending{color:#b4650f;background:#fdf0e6}.status-progress{background:var(--tac-tint);color:var(--tac-primary)}.status-completed{color:#1e8a4c;background:#e3f6ea}.visit-item-doctor{color:var(--tac-text);margin:0 0 2px;font-size:15px;font-weight:700}.visit-item-clinic{color:var(--tac-text-muted);align-items:center;gap:5px;margin:0 0 4px;font-size:12.5px;display:flex}.visit-item-time{color:var(--tac-app-accent);margin:0;font-size:12.5px;font-weight:600}.icon-tile{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:6px 2px;transition:transform .12s;display:flex}.icon-tile:active{transform:scale(.95)}.icon-tile-circle{border-radius:var(--tac-radius-pill);background:var(--tac-tint-soft);width:52px;height:52px;color:var(--tac-primary);box-shadow:var(--tac-shadow-sm);border:1px solid var(--tac-border);justify-content:center;align-items:center;display:flex}.icon-tile-label{color:var(--tac-text);font-size:11.5px;font-weight:600;line-height:1.25}.fab{border-radius:var(--tac-radius-pill);background:var(--tac-highlight);color:#fff;z-index:10;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .12s;display:flex;position:absolute;bottom:28px;right:20px;box-shadow:0 8px 20px #cc336673}.fab:active{transform:scale(.94)}.home-page{flex-direction:column;min-height:100vh;display:flex;position:relative}.stat-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:-18px;padding:0 16px;display:grid}.visit-list{flex-direction:column;gap:10px;padding:0 16px;display:flex}.icon-grid{grid-template-columns:repeat(4,1fr);gap:18px 4px;padding:4px 16px 16px;display:grid}.coming-soon-page{background:var(--tac-bg);flex-direction:column;min-height:100vh;display:flex}.coming-soon-back{color:var(--tac-primary);align-items:center;gap:8px;padding:20px 16px;font-size:14px;font-weight:700;display:flex}.coming-soon-body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.coming-soon-icon{border-radius:var(--tac-radius-pill);background:var(--tac-tint);width:72px;height:72px;color:var(--tac-primary);justify-content:center;align-items:center;margin-bottom:6px;display:flex}.coming-soon-body h1{color:var(--tac-primary);margin:0;font-size:20px}.coming-soon-body p{color:var(--tac-text-muted);margin:0;font-size:14px}
