:root{color:#f3f4f6;background:#08111f;font-family:sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(circle at top,#34d3992e,#0000 32%),linear-gradient(#08111f 0%,#0b1528 42%,#0f172a 100%);min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,p{margin:0}.app-shell{width:min(100%,30rem);padding:calc(env(safe-area-inset-top,0px) + .75rem) .9rem calc(env(safe-area-inset-bottom,0px) + 1.25rem);margin:0 auto}.app-bar{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#08111fdb;align-items:center;gap:.9rem;min-height:4rem;margin-bottom:1rem;padding:.3rem 0;display:flex;position:sticky;top:0}.app-bar-copy{gap:.12rem;display:grid}.eyebrow,.muted,.list-row small,.timeline-row small,.drawer-title{color:#94a3b8}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.app-bar h1{font-size:1.35rem;line-height:1.15}.icon-button{background:#0f172ae0;border:1px solid #94a3b833;border-radius:999px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:.28rem;width:3rem;height:3rem;display:inline-flex;box-shadow:0 10px 24px #0000002e}.icon-button span{background:#f8fafc;border-radius:999px;width:1rem;height:2px}.menu-backdrop{z-index:35;background:#0206176b;border:0;padding:0;position:fixed;inset:0}.app-drawer{z-index:40;width:min(84vw,20rem);padding:calc(env(safe-area-inset-top,0px) + 1rem) 1rem calc(env(safe-area-inset-bottom,0px) + 1rem);background:#0a1322fa;align-content:start;gap:.5rem;transition:transform .16s;display:grid;position:fixed;top:0;bottom:0;left:0;transform:translate(-104%);box-shadow:0 24px 50px #02061775}.app-drawer.open{transform:translate(0)}.drawer-title{margin-bottom:.25rem;font-size:.85rem;font-weight:600}.drawer-link,.primary-button,.secondary-button,.tab{color:#e5e7eb;background:#0f172ab3;border:1px solid #94a3b829;border-radius:1rem;min-height:3.25rem;padding:.9rem 1rem}.drawer-link{text-align:left;width:100%}.drawer-link.active,.primary-button{color:#04111f;background:linear-gradient(135deg,#22c55e 0%,#14b8a6 100%);border-color:#14b8a6;box-shadow:0 14px 30px #14b8a647}.secondary-button{color:#e5e7eb}.page,.stack,.form-stack,.list,.timeline,.app-page{gap:1rem;display:grid}.card{background:linear-gradient(#0f172af0,#0f172adb);border:1px solid #94a3b81f;border-radius:1.35rem;gap:.9rem;padding:1rem;display:grid;box-shadow:0 14px 28px #02061738}.hero-card{gap:.45rem}.stats-card,.grid-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.stats-card>div,.grid-list>div,.list-row span{gap:.2rem;display:grid}.stats-card strong{font-size:1.3rem}.card-muted{background:linear-gradient(#7f1d1de0,#450a0ae6);border-color:#fdba7447}.row-header{gap:.9rem;display:grid}.list-row{text-align:left;width:100%;min-height:4rem;color:inherit;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:.2rem 0;display:flex}.camera-controls{margin-top:.15rem}.settings-card{gap:.8rem}.photo-section{gap:.75rem}.photo-actions{gap:.75rem;display:grid}.camera-capture-panel{gap:.6rem;display:grid}.add-photo-camera{aspect-ratio:4/5}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.photo-thumb{aspect-ratio:1;background:#0f172ad1;border:1px solid #94a3b82e;border-radius:.95rem;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%}.scan-card{gap:.75rem}.scan-screen{gap:.7rem}.scan-card-immersive{box-shadow:none;background:0 0;border-color:#0000;gap:.75rem;padding:.7rem}.camera-frame{background:radial-gradient(circle at top,#14b8a633,#0000 26%),#020617;border-radius:1.15rem;place-items:center;min-height:calc(100vh - 14.5rem);max-height:78vh;margin:0;display:grid;position:relative;overflow:hidden}.scan-surface{border:1px solid #2dd4bf6b;width:100%;padding:0;box-shadow:inset 0 0 0 1px #ffffff0f,0 20px 40px #0f172a4d}.scan-surface:disabled{cursor:default;border-color:#47556961}.camera-frame video{object-fit:contain;width:100%;height:100%}.scan-frozen-frame{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.scan-badge{color:#f8fafc;letter-spacing:.01em;background:#08111fd1;border:1px solid #2dd4bf47;border-radius:999px;padding:.5rem .85rem;font-size:.88rem;font-weight:600;position:absolute;bottom:.9rem;left:50%;transform:translate(-50%)}.scan-overlay{background:radial-gradient(circle,#14b8a629,#0000 34%),#08111f8a;place-items:center;display:grid;position:absolute;inset:0}.scan-spinner{border:6px solid #2dd4bf;border-color:#2dd4bf #22c55e #ffffff24 #ffffff24;border-radius:999px;width:5.6rem;height:5.6rem;animation:.9s linear infinite scan-spin;box-shadow:0 0 0 14px #08111f52,0 0 36px #2dd4bf2e}.scan-status{color:#cbd5e1;font-size:.94rem}.scan-cancel-button{color:#f8fafc;background:#0f172adb;border:1px solid #94a3b833;border-radius:999px;min-height:2.9rem;padding:.75rem 1rem}.hidden-canvas{display:none}.timeline{position:relative}.timeline-screen{align-content:stretch;min-height:calc(100vh - 7.5rem)}.timeline-panel-card{grid-template-rows:minmax(0,1fr) auto;gap:.75rem;min-height:0;padding:.8rem .65rem .75rem;display:grid}.timeline-scroll{height:min(42vh,24rem);min-height:0;padding-right:0;overflow-y:auto}.timeline-loading{z-index:1;background:linear-gradient(#0f172af5,#0f172a00);margin-bottom:.5rem;padding:.2rem 0;position:sticky;top:0}.timeline-composer{gap:.7rem;padding-top:.1rem}.timeline-row{grid-template-columns:auto 1fr;align-items:flex-start;gap:.5rem;display:grid}.timeline-row strong{font-size:.82rem;font-weight:600;line-height:1.3;display:block}.timeline-row p{margin-top:.12rem;font-size:.93rem;line-height:1.38}.timeline-row small{margin-top:.22rem;font-size:.67rem;display:block}.timeline-marker{background:#111827;border-radius:999px;flex:none;width:.55rem;height:.55rem;margin-top:.3rem}label{gap:.4rem;font-weight:600;display:grid}.field-subtle{gap:.25rem;font-weight:500}.field-subtle span{color:#94a3b8;font-size:.9rem}input,select,textarea{color:#f8fafc;background:#0f172adb;border:1px solid #94a3b82e;border-radius:1rem;width:100%;min-height:3.2rem;padding:.85rem .95rem}textarea{resize:vertical;min-height:7rem}@keyframes scan-spin{to{transform:rotate(360deg)}}@media (width>=721px){.app-shell{width:min(100%,32rem);padding-top:1.1rem}.camera-frame{aspect-ratio:4/3;min-height:32rem;max-height:none}.timeline-scroll{height:min(48vh,28rem)}}
