.ari-app{max-width:1040px;margin:24px auto;padding:16px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#0f172a}.ari-hero{display:flex;justify-content:space-between;gap:16px;align-items:center;background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;border-radius:30px;padding:30px;box-shadow:0 18px 45px rgba(20,184,166,.25)}.ari-hero span{opacity:.85;font-weight:800}.ari-hero h2{margin:8px 0;font-size:34px;color:#fff}.ari-hero p{margin:0;opacity:.92}.ari-hero-badge{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.34);border-radius:999px;padding:10px 16px;font-weight:900}.ari-section{background:#fff;border:1px solid #e5e7eb;border-radius:28px;margin-top:18px;padding:24px;box-shadow:0 12px 40px rgba(15,23,42,.06)}.ari-section h3{margin-top:0;font-size:22px}.ari-form label{display:block;font-weight:800;margin:12px 0 6px}.ari-form input,.ari-form select,.ari-form textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:15px;padding:13px;font-size:16px;background:#f8fafc}.ari-form textarea{min-height:86px}.ari-dose-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.ari-btn,.ari-actions button,.ari-stop-plan{border:0;border-radius:999px;padding:12px 18px;cursor:pointer;font-weight:900}.ari-primary{background:#0f766e;color:#fff;margin-top:12px}.ari-meal{border-radius:22px;padding:16px;margin:14px 0}.ari-morning{background:#fffbeb}.ari-noon{background:#eff6ff}.ari-evening{background:#fff7ed}.ari-night{background:#f5f3ff}.ari-meal h4{margin:0 0 12px;font-size:20px}.ari-med-card,.ari-plan-row{display:flex;justify-content:space-between;gap:16px;align-items:center;background:rgba(255,255,255,.88);border:1px solid rgba(148,163,184,.25);border-radius:19px;padding:15px;margin:10px 0}.ari-med-card strong,.ari-plan-row strong{display:block;font-size:17px}.ari-med-card span,.ari-plan-row span,.ari-status,.ari-med-card small{display:block;color:#64748b;margin-top:4px}.ari-actions{display:flex;gap:8px;flex-wrap:wrap}.ari-actions button{background:#f1f5f9;color:#0f172a}.ari-actions button[data-status="taken"]{background:#dcfce7}.ari-actions button[data-status="skipped"]{background:#fee2e2}.ari-actions button[data-status="postponed"]{background:#e0f2fe}.ari-stop-plan{background:#fee2e2;color:#991b1b}.ari-empty,.ari-mini-empty{color:#64748b;background:#f8fafc;border-radius:16px;padding:14px}.ari-login-box{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:24px;box-shadow:0 12px 40px rgba(15,23,42,.06)}#ari-form-result{margin-top:10px;font-weight:800}.ari-ok,.ari-token-ok{color:#047857;background:#dcfce7;border-radius:14px;padding:12px;margin:12px auto;max-width:980px}.ari-error,.ari-token-error{color:#b91c1c;background:#fee2e2;border-radius:14px;padding:12px;margin:12px auto;max-width:980px}.ari-register-link{display:inline-block;margin-top:10px;font-weight:900}@media(max-width:640px){.ari-app{padding:10px}.ari-hero{padding:22px;border-radius:22px;display:block}.ari-hero h2{font-size:25px}.ari-hero-badge{display:inline-block;margin-top:14px}.ari-med-card,.ari-plan-row{display:block}.ari-actions{margin-top:12px}.ari-actions button,.ari-stop-plan{width:100%;margin-top:8px}}


/* V4 reminder layer */
.ari-alert-section{background:linear-gradient(135deg,#fff7ed,#fff);border:1px solid #fed7aa;border-radius:24px;padding:18px;margin:18px 0;box-shadow:0 18px 40px rgba(234,88,12,.10)}
.ari-alert-section h3{margin:0 0 12px;color:#9a3412;font-size:20px}
.ari-alert-card{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid #ffedd5;border-radius:18px;padding:14px;margin:10px 0}
.ari-alert-card strong{display:block;font-size:16px;color:#111827}.ari-alert-card span{display:block;color:#7c2d12;margin-top:4px}
.ari-alert-card .ari-actions{display:flex;gap:8px;flex-wrap:wrap}.ari-alert-card button{border:0;border-radius:14px;padding:10px 14px;cursor:pointer;font-weight:700;background:#ea580c;color:#fff}.ari-alert-card button:nth-child(2){background:#64748b}
@media(max-width:640px){.ari-alert-card{display:block}.ari-alert-card .ari-actions{margin-top:12px}.ari-alert-card button{width:100%;margin-top:6px}}

/* V6 user summary and history */
.ari-progress-section{background:linear-gradient(135deg,#ecfeff,#fff)}.ari-user-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:10px 0 14px}.ari-user-summary div{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:14px;text-align:center}.ari-user-summary strong{display:block;font-size:28px;color:#0f766e}.ari-user-summary span{display:block;color:#64748b;margin-top:4px}.ari-user-progress{height:12px;background:#e2e8f0;border-radius:999px;overflow:hidden}.ari-user-progress span{display:block;height:100%;background:#0f766e;border-radius:999px}.ari-history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:14px;margin:10px 0}.ari-history-row strong{display:block}.ari-history-row span{display:block;color:#64748b;margin-top:4px}@media(max-width:640px){.ari-user-summary{grid-template-columns:1fr}.ari-history-row{display:block}.ari-history-row em{margin-top:10px}}

/* V7 doctor notes */
.ari-doctor-notes{border:1px solid #bfdbfe;background:linear-gradient(135deg,#eff6ff,#ffffff)}
.ari-note-card{border:1px solid #dbeafe;border-radius:18px;padding:14px;margin:10px 0;background:#fff;box-shadow:0 10px 25px rgba(15,23,42,.06)}
.ari-note-card.is-critical{border-color:#fca5a5;background:#fff1f2}.ari-note-card strong{display:block;color:#111827}.ari-note-card span{font-size:12px;color:#64748b}.ari-note-card p{margin:8px 0 0;color:#334155;line-height:1.5}

/* v1.0.1 AJAX medicine search - 24K+ medicine lists */
.ari-med-search-wrap{position:relative;display:block}.ari-med-search-wrap input[type="text"]{padding-right:46px}.ari-med-search-wrap input.is-selected{border-color:#0f766e;background:#ecfdf5}.ari-med-search-wrap #ari-medicine-clear{position:absolute;right:8px;top:8px;width:34px;height:34px;border:0;border-radius:999px;background:#e2e8f0;color:#334155;font-size:22px;line-height:1;cursor:pointer}.ari-field-help{display:block;margin-top:6px;color:#64748b;font-weight:600}.ari-med-results{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:50;max-height:320px;overflow:auto;background:#fff;border:1px solid #cbd5e1;border-radius:18px;box-shadow:0 22px 50px rgba(15,23,42,.18);padding:8px}.ari-med-results.is-open{display:block}.ari-med-result{display:block;width:100%;text-align:left;border:0;background:#fff;border-radius:14px;padding:12px;cursor:pointer;color:#0f172a}.ari-med-result:hover,.ari-med-result:focus{background:#ecfeff;outline:2px solid #99f6e4}.ari-med-result strong{display:block;font-size:15px}.ari-med-result span{display:block;margin-top:3px;color:#64748b;font-size:13px}.ari-med-result-empty{padding:13px;color:#64748b;font-weight:700}@media(max-width:640px){.ari-med-results{max-height:260px}.ari-med-result{padding:14px}}

/* v1.0.2 Stable Login UI + Support Link */
.ari-login-shell{
    min-height: 72vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:32px 16px;
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, .18), transparent 34%),
        radial-gradient(circle at bottom right, rgba(16, 185, 129, .18), transparent 30%),
        linear-gradient(135deg, #f8fafc 0%, #eef6ff 52%, #f4fff8 100%);
    border-radius:28px;
}
.ari-login-card{
    width:min(960px, 100%);
    display:grid;
    grid-template-columns: 1.05fr .95fr;
    gap:0;
    overflow:hidden;
    border-radius:32px;
    background:rgba(255,255,255,.88);
    box-shadow:0 30px 80px rgba(15,23,42,.16);
    border:1px solid rgba(255,255,255,.7);
    backdrop-filter: blur(14px);
}
.ari-login-brand{
    padding:42px;
    color:#fff;
    background:
        linear-gradient(145deg, rgba(13,148,136,.95), rgba(37,99,235,.96)),
        radial-gradient(circle at 15% 15%, rgba(255,255,255,.32), transparent 28%);
    position:relative;
    overflow:hidden;
}
.ari-login-brand:after{
    content:"";
    position:absolute;
    width:220px;height:220px;
    border-radius:999px;
    right:-70px;bottom:-70px;
    background:rgba(255,255,255,.14);
}
.ari-login-logo{
    width:64px;height:64px;
    display:grid;place-items:center;
    border-radius:22px;
    background:rgba(255,255,255,.18);
    font-size:32px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
    margin-bottom:22px;
}
.ari-login-brand span{
    display:inline-flex;
    padding:7px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.16);
    font-weight:800;
    letter-spacing:.02em;
    margin-bottom:18px;
}
.ari-login-brand h2{
    margin:0 0 14px;
    font-size: clamp(30px, 5vw, 48px);
    line-height:1.02;
    color:#fff;
}
.ari-login-brand p{
    margin:0;
    max-width:420px;
    font-size:17px;
    line-height:1.65;
    color:rgba(255,255,255,.9);
}
.ari-login-form{
    padding:42px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.ari-login-form form{margin:0;}
.ari-login-form label{
    display:block;
    font-weight:800;
    color:#0f172a;
    margin:0 0 8px;
}
.ari-login-form .login-username,
.ari-login-form .login-password{margin:0 0 18px;}
.ari-login-form input[type="text"],
.ari-login-form input[type="password"]{
    width:100%;
    min-height:52px;
    border:1px solid #dbeafe;
    background:#f8fbff;
    border-radius:18px;
    padding:0 16px;
    font-size:16px;
    outline:none;
    box-shadow: inset 0 1px 0 rgba(15,23,42,.03);
}
.ari-login-form input[type="text"]:focus,
.ari-login-form input[type="password"]:focus{
    border-color:#2563eb;
    box-shadow:0 0 0 4px rgba(37,99,235,.12);
    background:#fff;
}
.ari-login-form .login-remember label{
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:700;
    color:#475569;
}
.ari-login-form .button,
.ari-login-form input[type="submit"]{
    width:100%;
    min-height:54px;
    border:0;
    border-radius:18px;
    background:linear-gradient(135deg,#0d9488,#2563eb);
    color:#fff;
    font-size:16px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 16px 32px rgba(37,99,235,.26);
}
.ari-login-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:12px;
    margin-top:18px;
}
.ari-login-links a{
    color:#0f766e;
    font-weight:800;
    text-decoration:none;
}
.ari-login-foot{
    grid-column:1 / -1;
    padding:14px 22px;
    text-align:center;
    background:#f8fafc;
    color:#64748b;
    font-size:13px;
    border-top:1px solid #e2e8f0;
}
.ari-support-pill{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 18px;
    padding:14px 16px;
    border-radius:20px;
    text-decoration:none;
    background:linear-gradient(135deg,#fff7ed,#ecfeff);
    border:1px solid rgba(251,146,60,.28);
    box-shadow:0 14px 34px rgba(15,23,42,.08);
    color:#0f172a;
}
.ari-support-pill span{
    width:42px;height:42px;
    display:grid;place-items:center;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 18px rgba(15,23,42,.08);
    flex:0 0 auto;
}
.ari-support-pill strong{display:block;font-size:15px;}
.ari-support-pill em{display:block;margin-left:auto;font-style:normal;color:#64748b;font-size:13px;}
@media (max-width: 760px){
    .ari-login-shell{padding:16px 10px;border-radius:22px;}
    .ari-login-card{grid-template-columns:1fr;border-radius:26px;}
    .ari-login-brand{padding:30px 24px;}
    .ari-login-form{padding:28px 22px;}
    .ari-login-foot{grid-column:auto;}
    .ari-support-pill{align-items:flex-start;}
    .ari-support-pill em{margin-left:0;}
    .ari-support-pill{flex-wrap:wrap;}
}

/* v1.0.3 PWA Ready */
.ari-pwa-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin:18px 0 0;
    padding:16px 18px;
    border-radius:24px;
    border:1px solid rgba(13,148,136,.18);
    background:linear-gradient(135deg,#ecfdf5,#eff6ff);
    box-shadow:0 14px 34px rgba(15,23,42,.07);
}
.ari-pwa-card strong{display:block;color:#0f172a;font-size:16px}.ari-pwa-card span{display:block;margin-top:4px;color:#475569;line-height:1.45}.ari-pwa-card em{font-style:normal;color:#64748b;font-weight:800;font-size:13px;white-space:nowrap}.ari-pwa-install{border:0;border-radius:999px;padding:12px 16px;background:#0f766e;color:#fff;font-weight:900;cursor:pointer;box-shadow:0 14px 28px rgba(15,118,110,.22);white-space:nowrap}.ari-pwa-install:hover{filter:brightness(.98);transform:translateY(-1px)}
@media(max-width:640px){.ari-pwa-card{display:block}.ari-pwa-install{width:100%;margin:12px 0 8px}.ari-pwa-card em{display:block}}


/* v1.0.4 Android Wrapper Ready */
.ari-mobile-ready{scroll-behavior:smooth}.ari-mobile-menu{position:sticky;top:8px;z-index:45;display:flex;gap:8px;overflow-x:auto;margin:14px 0 18px;padding:8px;border-radius:22px;background:rgba(255,255,255,.88);border:1px solid rgba(226,232,240,.9);box-shadow:0 14px 34px rgba(15,23,42,.08);backdrop-filter:blur(14px);-webkit-overflow-scrolling:touch}.ari-mobile-menu a{flex:0 0 auto;text-decoration:none;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:11px 14px;font-weight:900;font-size:14px}.ari-mobile-menu a:hover,.ari-mobile-menu a:focus{background:#0f766e;color:#fff;border-color:#0f766e;outline:none}.ari-profile-card,.ari-settings-card{background:linear-gradient(135deg,#ffffff,#f8fafc)}.ari-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.ari-profile-grid div{border:1px solid #e2e8f0;border-radius:18px;padding:14px;background:#fff}.ari-profile-grid span{display:block;color:#64748b;font-size:13px;font-weight:800}.ari-profile-grid strong{display:block;margin-top:5px;color:#0f172a;word-break:break-word}.ari-settings-actions{display:flex;gap:10px;flex-wrap:wrap}.ari-settings-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;padding:12px 16px;background:#0f766e;color:#fff;font-weight:900}.ari-settings-actions a:nth-child(2){background:#f97316}@media(max-width:640px){.ari-mobile-menu{top:0;margin-left:-10px;margin-right:-10px;border-radius:0;padding:10px 12px}.ari-mobile-menu a{padding:12px 14px}.ari-profile-grid{grid-template-columns:1fr}}
