*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--blue: #2563EB;--blue-dark: #1D4ED8;--green: #16A34A;--green-dark: #15803D;--red: #EF4444;--amber: #D97706;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-300: #D1D5DB;--gray-500: #6B7280;--gray-700: #374151;--gray-900: #111827;--radius: 8px;--radius-lg: 12px;--page-max-width: 720px;--page-padding: 24px 16px;--shell-top-height: 56px;--font-sm: 13px;--font-base: 15px;--font-lg: 17px;--font-xl: 22px;--gap-sm: 8px;--gap-md: 12px;--gap-lg: 16px;--gap-xl: 24px}@media(min-width:768px){:root{--page-max-width: 960px;--page-padding: 32px 24px;--font-sm: 13px;--font-base: 16px;--font-lg: 18px;--font-xl: 24px;--shell-top-height: 64px}}@media(min-width:1024px){:root{--page-max-width: 1120px;--page-padding: 40px 32px;--font-xl: 26px;--shell-top-height: 64px}}@media(min-width:1280px){:root{--page-max-width: 1280px;--page-padding: 48px 40px}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#fff;color:var(--gray-900);font-size:16px;line-height:1.5}.page{max-width:var(--page-max-width);margin:0 auto;padding:var(--page-padding)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--gap-xl)}.page-header h1{font-size:var(--font-xl);font-weight:700}.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;padding:10px 20px;border-radius:var(--radius);font-weight:600;text-decoration:none;border:none;cursor:pointer;font-size:15px;transition:background .15s}.btn-primary:hover{background:var(--blue-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--blue);border:1px solid var(--blue);padding:10px 20px;border-radius:var(--radius);font-weight:600;text-decoration:none;cursor:pointer;font-size:15px;transition:background .15s}.btn-secondary:hover{background:var(--gray-100)}.btn-danger{background:var(--red);color:#fff;padding:10px 20px;border-radius:var(--radius);font-weight:600;border:none;cursor:pointer}.btn-danger:hover{background:#dc2626}@media(max-width:480px){.btn-primary,.btn-secondary,.btn-danger{padding:10px 16px;font-size:14px}}.status{display:inline-block;padding:2px 10px;border-radius:4px;font-size:var(--font-sm);font-weight:500}.status-draft{background:var(--gray-100);color:var(--gray-700)}.status-reviewed{background:#eff6ff;color:#1d4ed8}.status-active{background:#dcfce7;color:#15803d}.status-completed{background:#f3f4f6;color:var(--gray-500)}.status-archived{background:#f1f5f9;color:#64748b}.badge-warning{background:#fef3c7;color:#92400e;padding:2px 8px;border-radius:4px;font-size:12px}.badge-success{color:var(--green);font-weight:600}.badge-muted{color:var(--gray-500)}.prescription-list,.reminder-list{list-style:none}.prescription-card{display:block;background:var(--gray-50);border:1px solid var(--gray-300);border-radius:var(--radius-lg);padding:16px;margin-bottom:12px;text-decoration:none;color:inherit;transition:border-color .15s}.prescription-card:hover{border-color:var(--blue)}.prescription-card .medications{margin:8px 0;display:flex;flex-wrap:wrap;gap:6px}.prescription-card .med-chip{background:var(--gray-100);padding:2px 8px;border-radius:4px;font-size:var(--font-sm)}.prescription-card time{font-size:12px;color:var(--gray-500)}@media(min-width:768px){.prescription-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.prescription-list>li{margin-bottom:0}.prescription-list .prescription-card{margin-bottom:0;height:100%}}.reminder-card{background:var(--gray-50);border:1px solid var(--gray-300);border-radius:var(--radius-lg);padding:16px;margin-bottom:12px}.reminder-card time{font-size:28px;font-weight:700;color:var(--blue);display:block;margin-bottom:6px}.reminder-card .med-info strong{font-size:var(--font-lg)}.reminder-card .med-info span{color:var(--gray-500);margin-left:4px}.reminder-card .actions{display:flex;gap:12px;margin-top:14px}.reminder-card.confirmed{border-color:#86efac}.reminder-card.skipped{opacity:.6}.btn-confirm{flex:1;background:var(--blue);color:#fff;border:none;border-radius:var(--radius);padding:10px;font-weight:600;cursor:pointer}.btn-confirm:hover{background:#1d4ed8}.btn-skip{flex:1;background:transparent;color:var(--gray-500);border:1px solid var(--gray-300);border-radius:var(--radius);padding:10px;cursor:pointer}.btn-skip:hover{background:var(--gray-100)}.form-group{margin-bottom:18px}.form-group label{display:block;font-weight:500;margin-bottom:6px}.form-group input,.form-group select{width:100%;border:1px solid var(--gray-300);border-radius:var(--radius);padding:10px 14px;font-size:15px;outline:none;transition:border-color .15s}.form-group input:focus,.form-group select:focus{border-color:var(--blue)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gray-50);padding:16px}.auth-card{background:#fff;border-radius:16px;padding:36px 32px;width:100%;max-width:420px;box-shadow:0 4px 24px #0000000f}.auth-card h1{font-size:24px;font-weight:700;margin-bottom:28px;text-align:center}@media(max-width:480px){.auth-card{padding:28px 20px;border-radius:12px}}.loading{text-align:center;padding:48px;color:var(--gray-500)}.error-banner{background:#fef2f2;color:#dc2626;border-radius:var(--radius);padding:12px 16px;margin-bottom:20px}.empty-state{text-align:center;padding:60px 16px;color:var(--gray-500)}.empty-state p{margin-bottom:20px;font-size:var(--font-lg)}.upload-zone{border:2px dashed var(--gray-300);border-radius:16px;padding:40px;text-align:center;cursor:pointer;transition:border-color .15s}.upload-zone:hover{border-color:var(--blue)}.upload-zone img{max-width:100%;max-height:280px;border-radius:8px}.upload-zone p{color:var(--gray-500);margin-top:12px}@media(min-width:768px){.upload-zone{padding:64px 48px}}.detail-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.section{margin-bottom:28px}.section h2{font-size:var(--font-lg);font-weight:700;margin-bottom:12px}.med-card,.followup-card{background:var(--gray-50);border-radius:var(--radius);padding:14px;margin-bottom:10px}.med-card strong,.followup-card strong{display:block;font-size:16px}.med-card span,.med-card p,.followup-card span,.followup-card p{color:var(--gray-500);font-size:14px;margin-top:4px}.prescription-image{width:100%;border-radius:12px;margin-bottom:24px;max-height:260px;object-fit:contain}@media(min-width:768px){.prescription-image{max-height:400px}}.activate-btn{width:100%;background:var(--green);color:#fff;border:none;border-radius:var(--radius);padding:14px;font-size:16px;font-weight:700;cursor:pointer;margin-bottom:20px}.activate-btn:disabled{opacity:.6;cursor:not-allowed}.activate-btn:hover:not(:disabled){background:#15803d}.review-banner{background:#fef3c7;border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;color:#92400e}.toast-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:400px;pointer-events:none}.toast-container .toast{pointer-events:auto;background:var(--gray-900);color:#fff;border-radius:var(--radius);padding:12px 16px;font-size:14px;box-shadow:0 4px 16px #0003;animation:toast-in .3s ease-out}.toast-container .toast--success{background:var(--green)}.toast-container .toast--error{background:var(--red)}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
