@charset "UTF-8";:root{--bg: oklch(.995 0 0);--surface: oklch(.99 .006 250);--surface-2: oklch(.955 .006 250);--surface-3: oklch(.93 .006 250);--border: oklch(.92 .006 250);--border-soft: oklch(.937 .006 250);--border-strong: oklch(.85 .006 250);--divider: oklch(.946 .006 250);--text-1: oklch(.15 .006 250);--text-2: oklch(.31 .006 250);--text-3: oklch(.51 .006 250);--text-4: oklch(.63 .006 250);--accent: oklch(.58 .22 12);--accent-text: oklch(.55 .21 12);--accent-text-strong: oklch(.42 .15 12);--accent-tint: oklch(.96 .03 12);--on-accent: oklch(.995 0 0);--tab-inactive: oklch(.36 .006 250);--ok: oklch(.6 .17 148);--ok-tint: oklch(.95 .045 150);--ok-text: oklch(.38 .1 150);--ok-border: oklch(.82 .1 150);--warn: oklch(.62 .15 68);--warn-tint: oklch(.97 .035 85);--warn-text: oklch(.38 .08 70);--warn-border: oklch(.85 .1 85);--crit: oklch(.55 .21 28);--crit-tint: oklch(.96 .03 25);--crit-text: oklch(.35 .12 28);--crit-border: oklch(.6 .2 28);--urgent: oklch(.58 .2 18);--norm-band: oklch(.9 .07 150);--overlay-backdrop: oklch(.15 .01 250 / .55);--shape-ok: circle(50% at 50% 50%);--shape-low: polygon(50% 100%, 100% 0, 0 0);--shape-high: polygon(50% 0, 100% 100%, 0 100%);--shape-crit: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);--shape-neutral: circle(50% at 50% 50%);--screen-pad-x: 20px;--card-pad: 16px;--card-gap: 12px;--section-gap: 20px;--radius-sm: 10px;--radius-md: 13px;--radius-lg: 16px;--radius-xl: 18px;--radius-pill: 99px;--shadow-float: 0 8px 24px oklch(.15 .01 250 / .14);--ease-standard: cubic-bezier(.2, 0, 0, 1);--dur-fast: .12s;--dur-base: .22s;--font-sans: -apple-system, "SF Pro Text", "SF Pro Display", system-ui, "Segoe UI", Roboto, sans-serif;--text-display: 700 26px/1.1 var(--font-sans);--text-title: 700 24px/1.1 var(--font-sans);--text-headline: 700 19px/1.28 var(--font-sans);--text-card-title: 700 16px/1.3 var(--font-sans);--text-row: 600 15px/1.3 var(--font-sans);--text-body: 400 15px/1.5 var(--font-sans);--text-body-sm: 400 13.5px/1.5 var(--font-sans);--text-caption: 400 12px/1.5 var(--font-sans);--text-label: 600 10.5px/1 var(--font-sans);--text-tab: 600 11px/1 var(--font-sans);--text-value: 600 15px/1 var(--font-sans);--text-value-lg: 700 30px/1 var(--font-sans);--tracking-display: -.7px;--tracking-title: -.6px;--tracking-headline: -.4px;--tracking-label: 1.2px;--tabbar-h: 84px;--bar-h: calc(50px + env(safe-area-inset-top)) ;--nav-w: 0px;--sheet-max-h: calc(100dvh - 32px) ;color-scheme:light}@media(min-width:600px)and (min-height:501px),(min-width:1024px),(min-width:600px)and (pointer:fine){:root{--nav-w: 88px;--sheet-max-h: calc(100dvh - max(24px, 10dvh) - 24px) }}@media(min-width:1024px){:root{--nav-w: 240px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;touch-action:pan-x pan-y}*{scrollbar-width:none}*::-webkit-scrollbar{display:none}body{margin:0;background:var(--bg);color:var(--text-1);font:var(--text-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}a{color:var(--accent-text);text-decoration:none}h1,h2,h3,p{margin:0}.app-frame{position:relative;max-width:440px;min-height:100vh;min-height:100dvh;margin:0 auto;background:var(--bg)}@media(min-width:600px){body{background:var(--surface-2)}.app-frame{border-left:1px solid var(--border);border-right:1px solid var(--border)}}@media(min-width:600px)and (min-height:501px),(min-width:1024px),(min-width:600px)and (pointer:fine){.app-frame{max-width:none;background:none;border:0}:where(.app-frame>:not(router-outlet,app-shell)){display:block;position:relative;width:100%;max-width:var(--page-max, 440px);min-height:100vh;min-height:100dvh;margin-inline:auto;background:var(--bg);border-inline:1px solid var(--border)}.app-frame:has(>.page-card){display:flex;flex-direction:column;padding:32px 24px}:where(.app-frame>.page-card){max-width:var(--page-max, 480px);min-height:0;margin-block:auto;overflow:clip;border:1px solid var(--border);border-radius:24px}app-doctor{--page-max: 1180px;--screen-pad-x: 28px}app-shell .screen{max-width:calc(var(--content-max, 640px) + 2 * var(--screen-pad-x));margin-inline:auto}}@media(min-width:1024px){app-shell .screen{margin-inline:0}}.screen{padding:calc(18px + env(safe-area-inset-top)) var(--screen-pad-x) 26px}.tabs-pad{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}.h-display{font:var(--text-display);letter-spacing:var(--tracking-display);text-wrap:pretty}.h-title{font:var(--text-title);letter-spacing:var(--tracking-title);text-wrap:pretty}.h-headline{font:var(--text-headline);letter-spacing:var(--tracking-headline);text-wrap:pretty}.label{font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-3)}.label-row{display:flex;align-items:center;gap:8px}.caption{font:var(--text-caption);color:var(--text-3)}.subline{font:400 12px/1.35 var(--font-sans);color:#585b5e;text-transform:uppercase}.muted{color:var(--text-3)}.num{font-variant-numeric:tabular-nums}.pretty{text-wrap:pretty}.disclaimer{margin-top:18px;font:400 11.5px/1.55 var(--font-sans);color:#696c6f;text-wrap:pretty}app-top-bar.nested~.screen{margin-top:-6px;padding-top:0}app-top-bar.nested~.screen>:is(.h-title,.h-display):first-child{margin-top:10px}@media(min-width:600px)and (hover:hover)and (pointer:fine)and (display-mode:browser){app-shell app-top-bar.nested~.screen{margin-top:0;padding-top:calc(18px + env(safe-area-inset-top))}app-shell app-top-bar.nested~.screen>:is(.h-title,.h-display):first-child{margin-top:6px;font:var(--text-display);letter-spacing:var(--tracking-display)}}html{scroll-padding-top:calc(var(--bar-h) + 8px)}.bar-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;background:none;border:0;cursor:pointer;white-space:nowrap;font:600 16px/1 var(--font-sans);color:var(--accent-text);text-decoration:none;transition:opacity var(--dur-fast) var(--ease-standard)}.bar-btn:active{opacity:.45}.bar-close{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;background:none;border:0;cursor:pointer}.bar-close span{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-pill);background:#eaedf1;font:500 15px/1 var(--font-sans);color:#2e3033;transition:background-color var(--dur-fast) var(--ease-standard)}.bar-close:active span{background:var(--surface-3)}.mk{display:inline-block;flex:none;width:10px;height:10px}.mk.sm{width:8px;height:8px}.mk.md{width:9px;height:9px}.mk.lg{width:12px;height:12px}.mk-ok{background:var(--ok);clip-path:var(--shape-ok)}.mk-low{background:var(--warn);clip-path:var(--shape-low)}.mk-high{background:var(--warn);clip-path:var(--shape-high)}.mk-crit{background:var(--crit);clip-path:var(--shape-crit)}.mk-neutral{background:var(--text-4);clip-path:var(--shape-neutral)}.mk-accent{background:var(--accent);clip-path:var(--shape-ok)}.c-ok{color:var(--ok-text)}.c-warn{color:var(--warn-text)}.c-crit{color:var(--crit)}.v-ok,.v-neutral{color:var(--text-1)}.v-low,.v-high{color:var(--warn)}.v-crit{color:var(--crit)}.chip{display:inline-flex;align-items:center;gap:6px;flex:none;padding:6px 10px;border-radius:var(--radius-pill);font:600 11.5px/1 var(--font-sans);white-space:nowrap}.chip.ok{background:var(--ok-tint);color:var(--ok-text)}.chip.warn{background:var(--warn-tint);color:var(--warn-text)}.chip.crit{background:var(--crit-tint);color:var(--crit-text)}.chip.neutral{background:#e1e5e8;color:#1c1e20}.chip.muted{background:#eceff3;color:var(--text-3)}.card{border-radius:var(--radius-xl);padding:17px;background:var(--surface);border:1px solid oklch(91.9% .006 250deg)}.card.soft{background:var(--bg);border-color:var(--border-soft)}.card.dashed{background:var(--bg);border:1px dashed oklch(87% .006 250deg)}.card.lg{border-radius:20px;padding:18px}.card.warn{background:var(--warn-tint);border-color:var(--warn-border)}.card.ok{background:var(--ok-tint);border-color:var(--ok-border)}.card.crit{border-color:var(--crit-border)}.card.accent{background:var(--accent-tint);border-color:transparent}.card.ok-line{border-color:var(--ok-tint)}.card.accent-line{border-color:var(--accent-tint)}.card-title{font:700 16px/1.3 var(--font-sans)}.card-text{margin-top:7px;font:400 14px/1.5 var(--font-sans);color:#292c2e;text-wrap:pretty}.card .label+.card-title,.card .label-row+.card-title{margin-top:10px}.card .label+.card-text{margin-top:10px}button.card,a.card{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}.stack{display:flex;flex-direction:column;gap:12px}.stack-sm{display:flex;flex-direction:column;gap:10px}.row{display:flex;align-items:center;gap:12px}.spacer{flex:1}.btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:54px;padding:0 18px;border:1px solid transparent;border-radius:15px;cursor:pointer;font:700 16px/1 var(--font-sans);letter-spacing:-.1px;text-align:center;text-decoration:none;transition:opacity var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard)}.btn:active:not(:disabled){opacity:.86}.btn:disabled{opacity:.45;cursor:default}.btn.md{height:50px;border-radius:14px;font-size:15.5px}.btn.sm{height:46px;border-radius:13px;font-size:15px}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-secondary{background:transparent;border-color:var(--border-strong);color:var(--text-1);font-weight:600;font-size:15px}.btn-secondary.sm{font-size:14px}.btn-ghost{background:transparent;color:var(--accent-text);font:600 14px/1 var(--font-sans);height:46px}.btn-ghost-muted{background:transparent;color:#2e3033;font:600 14px/1 var(--font-sans);height:44px}.btn-danger{background:var(--crit);color:var(--on-accent)}.btn-urgent{background:var(--urgent);color:var(--on-accent)}.btn-outline-danger{background:transparent;border-color:var(--crit-border);color:var(--crit-text)}.btn-ghost-danger{background:transparent;color:var(--crit);font:600 14px/1 var(--font-sans);height:46px}.btn-ok{background:var(--ok-text);color:var(--ok-tint)}.btn-row{display:flex;gap:10px}.btn-row>.btn{flex:1}.list{border-radius:var(--radius-lg);background:var(--surface);border:1px solid oklch(91.9% .006 250deg);overflow:hidden}.list-row{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:13px 14px;background:none;border:0;border-bottom:1px solid var(--divider);text-align:left;color:inherit;font:inherit}.list-row:last-child{border-bottom:0}button.list-row,a.list-row{cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard)}button.list-row:active,a.list-row:active,button.card:active,a.card:active{background-color:var(--surface-2)}.row-title{font:600 14.5px/1.2 var(--font-sans)}.row-sub{margin-top:5px;font:400 11px/1.2 var(--font-sans);color:var(--text-3)}.chev{flex:none;font:500 16px/1 var(--font-sans);color:#787b7e}.section-head{display:flex;justify-content:space-between;align-items:baseline;padding:0 2px;margin-bottom:9px}.section-head .count{font:400 10.5px/1 var(--font-sans);color:#787b7e}.field{display:block;padding:11px 13px;border-radius:12px;background:var(--surface);border:1px solid oklch(89% .006 250deg)}.field:focus-within{border-color:var(--accent)}.field-label{display:block;font:600 9.5px/1 var(--font-sans);letter-spacing:1px;text-transform:uppercase;color:var(--text-3)}.field-input{display:block;width:100%;margin:6px 0 0;padding:0;border:0;outline:none;background:transparent;font:600 16px/1.2 var(--font-sans);color:var(--text-1);font-variant-numeric:tabular-nums}.field-input::placeholder{color:var(--text-4);font-weight:400}.field-static{margin-top:6px;font:600 16px/1.2 var(--font-sans)}.field-error{margin-top:6px;font:500 12px/1.4 var(--font-sans);color:var(--crit)}.search{display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;border-radius:var(--radius-md);background:var(--surface);border:1px solid oklch(89% .006 250deg)}.search input{flex:1;min-width:0;border:0;outline:none;background:transparent;font:400 15px/1 var(--font-sans)}.pick{display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--radius-md);background:var(--surface);border:1px solid oklch(91% .006 250deg);font:600 14.5px/1 var(--font-sans);color:#17191c;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.pick.on{background:var(--accent-tint);border-color:var(--accent);color:#060709}.pick:disabled{opacity:.4;cursor:default}.pill{display:inline-flex;align-items:center;padding:9px 13px;border-radius:var(--radius-pill);border:0;cursor:pointer;background:#eceff3;color:#24272a;font:600 13px/1 var(--font-sans)}.pill.on{background:var(--accent-tint);color:var(--text-1)}.tile-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;font:600 13px/1 var(--font-sans);color:#17191c}.spinner{width:54px;height:54px;border-radius:99px;border:3px solid oklch(91% .006 250deg);border-top-color:var(--accent-text);animation:spin .9s linear infinite}.spinner.sm{width:22px;height:22px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{border-radius:var(--radius-xl);background:linear-gradient(90deg,var(--surface-2),var(--surface),var(--surface-2));background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.error-box{padding:13px 15px;border-radius:var(--radius-md);background:var(--crit-tint);color:var(--crit-text);font:400 13.5px/1.45 var(--font-sans)}.note-box{padding:13px 15px;border-radius:var(--radius-md);background:var(--bg);font:400 12.5px/1.45 var(--font-sans);color:#585b5e}.illustration{display:flex;align-items:center;justify-content:center;width:100%;height:150px;border-radius:var(--radius-xl);border:1px dashed var(--border-strong);background:repeating-linear-gradient(135deg,var(--surface) 0 8px,var(--bg) 8px 16px)}.toast{position:fixed;left:50%;bottom:calc(var(--tabbar-h) + 16px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:60;max-width:360px;padding:12px 16px;border-radius:14px;background:var(--text-1);color:var(--bg);font:500 13.5px/1.4 var(--font-sans);box-shadow:var(--shadow-float)}@media(min-width:600px)and (min-height:501px),(min-width:1024px),(min-width:600px)and (pointer:fine){.app-frame:has(>app-shell)~.toast{left:calc(50% + var(--nav-w) / 2)}.app-frame:has(>app-shell:not(.flow))~.toast{bottom:calc(24px + env(safe-area-inset-bottom))}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sheet-backdrop{position:fixed;inset:0;z-index:40;background:var(--overlay-backdrop);animation:fadeIn var(--dur-base) var(--ease-standard)}.sheet{position:fixed;left:50%;bottom:0;z-index:41;width:100%;max-width:440px;transform:translate(-50%);padding:20px 20px calc(24px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:var(--bg);animation:sheetIn var(--dur-base) var(--ease-standard)}@keyframes fadeIn{0%{opacity:0}}@keyframes sheetIn{0%{transform:translate(-50%,24px);opacity:0}}@media(min-width:600px)and (min-height:501px),(min-width:1024px),(min-width:600px)and (pointer:fine){.sheet{top:max(24px,10dvh);bottom:auto;width:min(480px,100% - 48px);max-width:none;max-height:var(--sheet-max-h);overflow-y:auto;overscroll-behavior:contain;padding:24px;border-radius:22px;transform:none;translate:-50% 0;animation-name:dialogIn}}@keyframes dialogIn{0%{transform:translateY(8px) scale(.98);opacity:0}}@media(hover:hover)and (pointer:fine){button:not(:disabled,app-doctor *){cursor:pointer}.btn-primary:not(:disabled,app-doctor *):hover{background-color:color-mix(in oklch,var(--accent),black 8%)}.btn-urgent:not(:disabled,app-doctor *):hover{background-color:color-mix(in oklch,var(--urgent),black 8%)}.btn-danger:not(:disabled,app-doctor *):hover{background-color:color-mix(in oklch,var(--crit),black 8%)}.btn-ok:not(:disabled,app-doctor *):hover{background-color:color-mix(in oklch,var(--ok-text),black 8%)}:is(.btn-secondary,.btn-outline-danger,.btn-ghost,.btn-ghost-muted,.btn-ghost-danger):not(:disabled,app-doctor *):hover{background-color:var(--surface-2)}:is(a,button).list-row:not(app-doctor *):hover{background-color:var(--surface-2)}:is(a,button).card:not(.crit,app-doctor *):hover{border-color:var(--border-strong)}.pill:not(.on,app-doctor *):hover{background-color:#e5e8ec}.pick:not(:disabled,.on,app-doctor *):hover{border-color:var(--border-strong)}.bar-btn:hover{opacity:.7}.bar-close:hover span{background:var(--surface-3)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}
