:root{color:#102a27;background:#f7faf9;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea{font:inherit}button{color:#fff;cursor:pointer;touch-action:manipulation;background:#0f766e;border:2px solid #0f766e;border-radius:.75rem;min-width:48px;min-height:48px;padding:.625rem 1rem}button:hover:not(:disabled){background:#115e59;border-color:#115e59}button:disabled{cursor:wait;opacity:.65}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #0f766e}[data-display-mode=elder]{font-size:20px}[data-display-mode=elder] button{min-height:56px}.app-shell{width:min(100% - 2rem,52rem);margin:0 auto;padding-block:1rem 4rem}.app-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.brand{color:#0f766e;letter-spacing:.02em;margin:0;font-weight:700}h1{margin:.25rem 0 0;font-size:clamp(1.75em,6vw,2.5em);line-height:1.2}.mode-button{color:#115e59;background:0 0;flex:none}.mode-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){color:#fff}.note-form{background:#fff;border:1px solid #cbd5e1;border-radius:1rem;gap:1rem;padding:1.25rem;display:grid}.field{gap:.375rem;display:grid}.field label{font-weight:700}.note-form input,.note-form textarea{color:#102a27;background:#fff;border:2px solid #64748b;border-radius:.75rem;width:100%;padding:.875rem}.note-form textarea{resize:vertical}.save-status{color:#115e59;min-height:1.6em;margin-block:.75rem;font-weight:600}.empty-state{text-align:center;border:1px dashed #64748b;border-radius:1rem;padding:1.5rem}.note-list{gap:.875rem;padding:0;list-style:none;display:grid}.note-card{overflow-wrap:anywhere;background:#fff;border:1px solid #cbd5e1;border-radius:1rem;padding:1rem}.note-card h2{margin-top:0;line-height:1.3}.note-card p{white-space:pre-wrap}.secondary-button{color:#115e59;background:0 0}.auth-shell{min-height:100dvh;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));background:linear-gradient(#edf8f6 0%,#f7faf9 55%);place-items:center;display:grid}.auth-card{background:#fff;border:1px solid #b8d8d3;border-radius:1.25rem;width:min(100%,32rem);padding:clamp(1.25rem,5vw,2rem);box-shadow:0 1rem 2.5rem #0f766e1a}.auth-card h1{margin-block:.35rem .75rem}.auth-intro,.auth-help{color:#405c58}.auth-help{margin-bottom:0;font-size:.9em}.auth-form{gap:1rem;margin-block:1.5rem .5rem;display:grid}.auth-form input{color:#102a27;background:#fff;border:2px solid #64748b;border-radius:.75rem;width:100%;min-height:56px;padding:.75rem .875rem}.auth-form button{width:100%}.full-width{width:100%;margin-top:1.5rem}.manual-code-form{border-top:1px solid #cbd5e1;padding-top:1rem}.manual-code-form input{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.08em}.primary-action{font-weight:700}.text-button{color:#115e59;text-underline-offset:.2em;background:0 0;border-color:#0000;text-decoration:underline}.text-button:hover:not(:disabled){color:#115e59;background:#edf8f6;border-color:#0f766e}.otp-input{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.35em;font-size:1.35em}.auth-email-summary{overflow-wrap:anywhere;margin:0}.auth-status{color:#115e59;min-height:1.6em;font-weight:600}.auth-error,.offline-login-alert{color:#7a271a;background:#fef3f2;border-left:.3rem solid #b42318;border-radius:.5rem;padding:.75rem 1rem}.offline-login-alert{width:min(100% - 2rem,32rem);margin:1rem auto -.5rem}.offline-banner{z-index:2;color:#573a00;text-align:center;background:#ffefc2;margin:0;padding:.65rem 1rem;font-weight:700;position:sticky;top:0}.turnstile-challenge{border-top:1px solid #cbd5e1;gap:.75rem;margin-top:1rem;padding-top:1rem;display:grid;overflow:hidden}.turnstile-widget{min-height:65px}.app-navigation{z-index:3;background:#fffffff5;border-bottom:1px solid #b8d8d3;position:sticky;top:0}.navigation-inner{gap:.25rem;width:min(100% - 1rem,52rem);margin:0 auto;padding:.5rem 0;display:flex;overflow-x:auto}.navigation-inner a{color:#115e59;border-radius:.75rem;flex:none;min-height:48px;padding:.65rem .9rem;font-weight:700;text-decoration:none}.navigation-inner a[aria-current=page]{color:#fff;background:#0f766e}.navigation-inner a:focus-visible{outline-offset:2px;outline:3px solid #0f766e}.navigation-sign-out{color:#115e59;white-space:nowrap;background:0 0;border-color:#0000;min-height:48px;margin-left:auto}.navigation-sign-out:hover:not(:disabled){color:#115e59;background:#edf8f6;border-color:#0f766e}.settings-page{width:min(100% - 2rem,52rem);margin:0 auto;padding-block:1.5rem 5rem}.settings-heading{margin-bottom:1.5rem}.settings-heading>p:last-child{color:#405c58}.settings-panel{background:#fff;border:1px solid #cbd5e1;border-radius:1rem;margin-block:1rem;padding:clamp(1rem,4vw,1.5rem)}.settings-panel h2,.settings-card h2,.settings-card h3{margin-top:0;line-height:1.3}.settings-form{gap:1rem;display:grid}.settings-form input,.settings-form select{color:#102a27;background:#fff;border:2px solid #64748b;border-radius:.75rem;width:100%;min-height:56px;padding:.75rem .875rem}.settings-list{gap:1rem;padding:0;list-style:none;display:grid}.compact-list{margin-bottom:0}.settings-card{overflow-wrap:anywhere;background:#fff;border:1px solid #cbd5e1;border-radius:1rem;padding:1rem}.detail-list{gap:.5rem;margin-block:1rem;display:grid}.detail-list div{grid-template-columns:7rem minmax(0,1fr);gap:.5rem;display:grid}.detail-list dt{color:#405c58}.detail-list dd{margin:0;font-weight:700}.card-actions{flex-wrap:wrap;gap:.75rem;display:flex}.danger-button{background:#b42318;border-color:#b42318}.danger-button:hover:not(:disabled){background:#912018;border-color:#912018}.device-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.current-badge{color:#115e59;background:#dff7f2;border-radius:999px;padding:.25rem .65rem;font-size:.85em;font-weight:700}.inline-editor,.pending-change{background:#f4fbfa;border:1px solid #b8d8d3;border-radius:.75rem;margin-block:1rem;padding:1rem}.inline-editor summary{cursor:pointer;font-weight:700}.lost-phone-warning{color:#7a271a;background:#fef3f2;border:2px solid #b42318;border-radius:.75rem;margin-top:1rem;padding:1rem}.dialog-backdrop{z-index:50;background:#0f172ab8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.grant-dialog{background:#fff;border-radius:1rem;width:min(100%,38rem);padding:clamp(1.25rem,5vw,2rem);box-shadow:0 1.5rem 4rem #00000047}.grant-warning{color:#573a00;background:#ffefc2;border-radius:.5rem;padding:.75rem;font-weight:700}.grant-qr{width:min(100%,20rem);height:auto;margin:1rem auto;display:block}.grant-qr-placeholder{background:#f1f5f9;place-items:center;width:min(100%,20rem);min-height:20rem;margin:1rem auto;display:grid}.grant-short-code{overflow-wrap:anywhere;letter-spacing:.08em;text-align:center;font-size:clamp(1.2rem,5vw,1.75rem);font-weight:800}.grant-actions{justify-content:center}@media print{body>*{visibility:hidden}.dialog-backdrop,.dialog-backdrop *{visibility:visible}.dialog-backdrop{background:#fff;display:block;position:static}.grant-dialog{box-shadow:none}.grant-actions,.grant-dialog>.text-button{display:none}}@media (width<=36rem){.app-header{flex-direction:column;align-items:stretch}.mode-button{width:100%}.auth-shell{place-items:start center}.auth-card{box-shadow:none;border-radius:1rem}.card-actions{display:grid}.detail-list div{grid-template-columns:1fr;gap:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
