:root{color-scheme:light;--ink:#182033;--muted:#68748b;--line:#e1e7f0;--blue:#315fd7;--soft:#eef3ff}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:#f4f6fb;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}.hidden{display:none!important}.eyebrow{display:block;color:#5273c8;font-size:.68rem;font-weight:900;letter-spacing:.13em}.login-view{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#fff 0,transparent 35%),linear-gradient(160deg,#f8f9fd,#eaf0ff)}.login-card{width:min(100%,390px);padding:28px;border:1px solid rgba(214,222,238,.9);border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 24px 65px rgba(38,57,96,.12)}.brand-mark{display:grid;width:50px;height:50px;margin-bottom:22px;place-items:center;border-radius:16px;background:#182033;color:#fff;font-size:.76rem;font-weight:900}.login-card h1{margin:6px 0 4px;font-size:1.75rem}.login-card p{margin:0 0 24px;color:var(--muted)}.login-card label,.optional-date label{display:grid;gap:7px;margin-top:14px;color:#556178;font-size:.75rem;font-weight:800}.login-card input,.optional-date input,select,.library-search{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);outline:none}.login-card input:focus,select:focus,.library-search:focus{border-color:#91a9e8;box-shadow:0 0 0 3px rgba(49,95,215,.11)}.login-card>button,.upload-button{width:100%;min-height:49px;margin-top:20px;border:0;border-radius:13px;background:#182033;color:#fff;font-weight:900}.error-text{min-height:20px;margin-top:12px;color:#b42318;font-size:.78rem;text-align:center}.app-view{width:min(100%,720px);min-height:100dvh;margin:auto;padding:calc(16px + env(safe-area-inset-top)) 14px calc(34px + env(safe-area-inset-bottom))}.mobile-header,.library-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.mobile-header{padding:4px 3px 18px}.mobile-header h1,.library-head h2{margin:3px 0 0}.icon-button,.viewer button{min-height:38px;padding:8px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:#4c5870;font-weight:800}.upload-card,.library-section{padding:17px;border:1px solid var(--line);border-radius:21px;background:#fff;box-shadow:0 14px 38px rgba(30,43,73,.06)}.step-label{display:flex;align-items:center;gap:8px;margin:19px 0 9px;color:#354158;font-size:.79rem;font-weight:900}.step-label:first-child{margin-top:0}.step-label span{display:grid;width:23px;height:23px;place-items:center;border-radius:8px;background:var(--soft);color:var(--blue);font-size:.7rem}.type-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.type-picker button{min-height:43px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#526078;font-size:.78rem;font-weight:900}.type-picker button.active{border-color:#88a6ed;background:var(--soft);color:#2857cf}.type-picker button:disabled{opacity:.4}.photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.photo-button{display:grid;min-height:48px;place-items:center;border:1px solid #cad5e7;border-radius:13px;background:#f8faff;color:#35445e;font-size:.8rem;font-weight:900}.photo-button.primary{border-color:#182033;background:#182033;color:#fff}.photo-button input{display:none}.page-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:11px}.empty-pages{grid-column:1/-1;padding:24px 12px;border:1px dashed #ccd6e5;border-radius:13px;color:#7d879a;font-size:.78rem;text-align:center}.page-preview{position:relative;overflow:hidden;aspect-ratio:3/4;border:1px solid var(--line);border-radius:13px;background:#edf1f7}.page-preview img{width:100%;height:100%;object-fit:cover}.page-number{position:absolute;top:7px;left:7px;display:grid;width:26px;height:26px;place-items:center;border-radius:9px;background:rgba(24,32,51,.86);color:#fff;font-size:.7rem;font-weight:900}.page-controls{position:absolute;right:6px;bottom:6px;left:6px;display:flex;justify-content:flex-end;gap:5px}.page-controls button{display:grid;width:31px;height:31px;padding:0;place-items:center;border:0;border-radius:9px;background:rgba(255,255,255,.94);color:#253047;font-weight:900}.optional-date{margin-top:14px;border-top:1px solid #edf0f5;padding-top:13px}.optional-date summary{color:#68748b;font-size:.76rem;font-weight:800}.upload-button:disabled{opacity:.55}.upload-status{min-height:20px;margin-top:10px;color:#5e6b82;font-size:.78rem;text-align:center}.upload-status.error{color:#b42318}.upload-status.success{color:#087443}.library-section{margin-top:14px}.library-search{margin:14px 0}.patient-notes-list{display:grid;gap:10px}.mobile-note-card{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:15px;background:#fbfcff}.mobile-note-card img{width:78px;height:94px;border-radius:10px;object-fit:cover;background:#e9edf4}.mobile-note-card h3{margin:5px 0 3px;font-size:.94rem}.mobile-note-card p{margin:0;color:var(--muted);font-size:.73rem}.mobile-note-card button{grid-column:1/-1;min-height:38px;border:0;border-radius:10px;background:#eef3ff;color:#2857cf;font-size:.76rem;font-weight:900}.type-chip{display:inline-flex;padding:3px 7px;border-radius:999px;background:#edf2ff;color:#315fd7;font-size:.62rem;font-weight:900;text-transform:uppercase}.empty-library{padding:28px 12px;color:#7d879a;font-size:.8rem;text-align:center}.viewer{position:fixed;z-index:50;inset:0;background:#e9edf3;overflow:auto}.viewer-head{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(11px + env(safe-area-inset-top)) 14px 11px;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.viewer-pages{display:grid;gap:12px;padding:12px 8px calc(24px + env(safe-area-inset-bottom))}.viewer-pages figure{margin:0;padding:7px;border-radius:12px;background:#fff}.viewer-pages img{display:block;width:100%;height:auto;border-radius:7px}.viewer-pages figcaption{padding:7px 0 1px;color:var(--muted);font-size:.7rem;text-align:center}@media(min-width:560px){.page-previews{grid-template-columns:repeat(3,minmax(0,1fr))}}
.password-entry{position:relative;display:block}.password-entry input{padding-right:82px}.password-entry button{position:absolute;right:6px;top:50%;min-height:36px;padding:7px 10px;transform:translateY(-50%);border:0;border-radius:9px;background:#eef2f7;color:#344054;font-size:.72rem;font-weight:900}.login-user-fixed{background:#f4f6fa!important;color:#344054!important;font-weight:850}
