:root{--color-page:#f5f8fc;--color-surface:#fff;--color-surface-raised:#fbfdff;--color-primary:#0866eb;--color-primary-strong:#0757c9;--color-primary-soft:#e8f1ff;--color-primary-border:#b9d3ff;--color-text:#0b1728;--color-text-secondary:#5b687b;--color-text-muted:#7c8798;--color-border:#d5dfed;--color-border-strong:#bccbe0;--color-success:#147454;--color-success-soft:#e8f6f0;--color-warning:#8a5600;--color-warning-soft:#fff4df;--color-danger:#bc2f2f;--color-danger-soft:#fff0f0;--color-info-soft:#eef5ff;--radius-control:14px;--radius-panel:24px;--radius-pill:999px;--space-unit:4px;--motion-page:.15s;--ease-page:cubic-bezier(.215, .61, .355, 1);--shadow-soft:0 8px 24px #173e7412;--shadow-panel:0 18px 50px #173e741a;--font-sans:system-ui, -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono:"SFMono-Regular", ui-monospace, Consolas, "Liberation Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-sans);color:var(--color-text);background:var(--color-page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;min-height:100%;scroll-padding-top:96px}body{background:radial-gradient(680px 420px at 8% -8%, #0866eb1f, transparent 62%), radial-gradient(520px 380px at 100% 4%, #5b9bf51a, transparent 58%), var(--color-page);min-width:320px;min-height:100dvh;color:var(--color-text);margin:0}#root{min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--color-primary-strong);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--color-primary)}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}fieldset{border:0;min-width:0;margin:0;padding:0}legend{padding:0}.icon-muted{color:var(--color-text-muted)}.input,.time-input,.select,.form-field{scroll-margin-top:96px;scroll-margin-bottom:120px}ul,ol{padding:0;list-style:none}h1,h2,h3{text-wrap:balance;color:var(--color-text)}h1{letter-spacing:-.02em;font-size:clamp(1.55rem,4.6vw,2rem);line-height:1.22}h2{letter-spacing:-.01em;font-size:clamp(1.15rem,3.5vw,1.35rem);line-height:1.3}h3{font-size:1.05rem;line-height:1.35}p{text-wrap:pretty}:focus-visible{outline-offset:2px;outline:3px solid #0866eb61}::selection{color:var(--color-text);background:#0866eb38}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;border-radius:var(--radius-control);background:var(--color-text);color:#fff;padding:10px 16px;transition:transform .16s;position:fixed;top:8px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.tabular{font-variant-numeric:tabular-nums}.muted{color:var(--color-text-secondary)}.eyebrow{color:var(--color-primary-strong);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.button{border-radius:var(--radius-control);white-space:nowrap;touch-action:manipulation;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:10px 18px;font-size:1rem;font-weight:650;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,box-shadow .15s,transform .1s;display:inline-flex}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.55}.button-primary{color:#fff;background:linear-gradient(180deg, #1372ff, var(--color-primary));border-color:var(--color-primary-strong);box-shadow:inset 0 1px #ffffff3d,0 8px 18px #0866eb38}.button-primary:hover:not(:disabled){background:linear-gradient(180deg, #0f6bf2, var(--color-primary-strong))}.button-secondary{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border-strong)}.button-secondary:hover:not(:disabled){border-color:var(--color-primary-border);background:var(--color-info-soft)}.button-ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}.button-ghost:hover:not(:disabled){color:var(--color-text);background:#0b17280d}.button-danger{color:#fff;background:linear-gradient(180deg, #d84242, var(--color-danger));border-color:#a92626}.button-danger:hover:not(:disabled){background:#a92626}.button-small{min-height:44px;padding:8px 12px;font-size:.92rem}.button-wide{width:100%}.button-block{width:100%;display:flex}.button-icon-only{width:44px;padding:0}.form-field{gap:6px;min-width:0;display:grid}.form-label{font-size:.95rem;font-weight:650}.form-hint{color:var(--color-text-secondary);font-size:.85rem;line-height:1.5}.form-error{color:var(--color-danger);font-size:.88rem;line-height:1.45}.input,.select,.time-input{border-radius:var(--radius-control);border:1px solid var(--color-border-strong);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-text);padding:10px 14px;font-size:1rem;line-height:1.4;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--color-text-muted)}.input:focus,.select:focus,.time-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 4px #0866eb29}.input[aria-invalid=true],.time-input[aria-invalid=true]{border-color:var(--color-danger)}.input:disabled,.time-input:disabled,.select:disabled{color:var(--color-text-secondary);background:#f4f7fb}.field-error{color:var(--color-danger);align-items:flex-start;gap:6px;font-size:.88rem;display:flex}.field-counter{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.8rem}.segmented{border:1px solid var(--color-border);border-radius:var(--radius-control);background:#f1f6fc;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;display:grid}.segmented-option{min-width:0;display:block;position:relative}.segmented-option input{opacity:0;margin:0;position:absolute;inset:0}.segmented-label{min-height:44px;color:var(--color-text-secondary);border-radius:11px;justify-content:center;align-items:center;padding:8px 10px;font-weight:650;transition:background-color .15s,color .15s,box-shadow .15s;display:flex}.segmented-option input:checked+.segmented-label{background:var(--color-surface);color:var(--color-primary-strong);box-shadow:0 2px 8px #173e741f}.segmented-option input:focus-visible+.segmented-label{outline-offset:2px;outline:3px solid #0866eb61}.switch{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:48px;padding:6px 0;display:flex}.switch:disabled{opacity:.55;cursor:not-allowed}.switch-track{border-radius:var(--radius-pill);background:#c8d4e4;flex:0 0 48px;width:48px;height:28px;transition:background-color .16s;position:relative}.switch-thumb{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0b172840}.switch.is-on .switch-track{background:var(--color-primary)}.switch.is-on .switch-thumb{transform:translate(20px)}.switch-copy{gap:2px;min-width:0;display:grid}.switch-label{font-weight:650}.switch-description{color:var(--color-text-secondary);font-size:.85rem}.status-badge{border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;min-height:26px;padding:3px 9px;font-size:.78rem;font-weight:650;line-height:1.3;display:inline-flex}.status-badge-neutral{color:var(--color-text-secondary);background:#eef3f9;border-color:#dbe5f1}.status-badge-info{color:var(--color-primary-strong);background:var(--color-primary-soft);border-color:var(--color-primary-border)}.status-badge-success{color:var(--color-success);background:var(--color-success-soft);border-color:#c5e8da}.status-badge-warning{color:var(--color-warning);background:var(--color-warning-soft);border-color:#f0d9ac}.status-badge-danger{color:var(--color-danger);background:var(--color-danger-soft);border-color:#f2c7c7}.alert{border-radius:var(--radius-control);border:1px solid var(--color-border);background:var(--color-surface);align-items:flex-start;gap:10px;padding:14px;display:flex}.alert-icon{flex:none;margin-top:2px}.alert-copy{flex:1;gap:2px;min-width:0;display:grid}.alert-detail{color:var(--color-text-secondary);font-size:.9rem;line-height:1.55}.alert-success{background:var(--color-success-soft);border-color:#c5e8da}.alert-success .alert-icon{color:var(--color-success)}.alert-error{background:var(--color-danger-soft);border-color:#f2c7c7}.alert-error .alert-icon{color:var(--color-danger)}.alert-warning{background:var(--color-warning-soft);border-color:#f0d9ac}.alert-warning .alert-icon{color:var(--color-warning)}.alert-info{border-color:var(--color-primary-border);background:var(--color-info-soft)}.alert-info .alert-icon{color:var(--color-primary-strong)}.skeleton{background:linear-gradient(90deg,#eaf1f9 25%,#f7faff 37%,#eaf1f9 63%) 0 0/400% 100%;border-radius:8px;animation:1.4s infinite skeleton-shimmer;display:block}.skeleton-line{height:12px;margin:4px 0}.skeleton-line-title{width:58%;height:18px}.skeleton-line-short{width:34%}.skeleton-badge{border-radius:var(--radius-pill);width:54px;height:26px}.skeleton-pill{border-radius:var(--radius-pill);width:74px;height:26px}@keyframes skeleton-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.skeleton{background:#eaf1f9;animation:none}}.state-panel{border:1px dashed var(--color-border-strong);border-radius:var(--radius-panel);background:var(--color-surface-raised);text-align:center;justify-items:center;gap:8px;padding:36px 20px;display:grid}.state-panel h3{margin-top:4px}.state-panel p{max-width:42ch;color:var(--color-text-secondary);font-size:.94rem}.state-icon{background:var(--color-primary-soft);width:54px;height:54px;color:var(--color-primary-strong);border-radius:18px;place-items:center;display:grid}.state-icon-error{background:var(--color-danger-soft);color:var(--color-danger)}.state-action{margin-top:8px}.confirm-dialog{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);width:min(92vw,430px);max-height:min(82dvh,620px);color:var(--color-text);box-shadow:var(--shadow-panel);padding:0;overflow:auto}.confirm-dialog::backdrop{background:#0b17286b}.confirm-dialog-inner{padding:22px 20px calc(20px + env(safe-area-inset-bottom));gap:14px;display:grid}.confirm-description{color:var(--color-text-secondary);font-size:.95rem;line-height:1.6}.confirm-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.inline-status{min-height:30px;color:var(--color-text-secondary);align-items:center;gap:5px;font-size:.8rem;line-height:1.4;display:inline-flex}.inline-status-success{color:var(--color-success)}.inline-status-error{color:var(--color-danger)}.inline-action{min-height:32px;color:var(--color-primary-strong);text-underline-offset:2px;background:0 0;border:0;padding:2px 6px;font-size:.8rem;font-weight:650;text-decoration:underline}.confirm-actions .button{min-width:96px}@media (width<=520px){.confirm-actions{flex-direction:column-reverse}.confirm-actions .button{width:100%}}.glass{-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);background:#ffffffc2;border:1px solid #ffffffc7;box-shadow:inset 0 1px #fffc,0 18px 44px #173e741a}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass{background:var(--color-surface)}}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-header{z-index:30;padding-top:env(safe-area-inset-top);background:#f5f8fcf7;border-bottom:1px solid #d5dfede6;position:sticky;top:0}.app-header-inner{align-items:center;gap:12px;width:min(100%,1120px);min-height:62px;margin:0 auto;padding:8px 16px;display:flex}.brand{min-width:0;color:var(--color-text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand:hover{color:var(--color-text)}.brand-mark{background:linear-gradient(150deg, #2c8bff, var(--color-primary));color:#fff;border-radius:13px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 6px 14px #0866eb3d}.brand-copy{gap:0;min-width:0;line-height:1.1;display:grid}.brand-name{letter-spacing:.01em;font-size:1.02rem;font-weight:800}.brand-subtitle{color:var(--color-text-secondary);font-size:.72rem}.desktop-nav{align-items:center;gap:4px;margin-left:auto;display:none}.nav-link{border-radius:var(--radius-control);min-height:44px;color:var(--color-text-secondary);align-items:center;gap:7px;padding:8px 14px;font-size:.94rem;font-weight:650;text-decoration:none;display:inline-flex}.nav-link:hover{color:var(--color-text);background:#0b17280d}.nav-link[aria-current=page]{color:var(--color-primary-strong);background:var(--color-primary-soft)}.user-area{align-items:center;gap:6px;min-width:0;margin-left:auto;display:flex}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:92px;color:var(--color-text-secondary);font-size:.86rem;font-weight:650;overflow:hidden}.user-area .button{min-width:44px;padding-inline:10px}.user-area .button-label{display:none}.app-main{width:min(100%,1120px);padding:18px 16px calc(24px + env(safe-area-inset-bottom));flex:1;margin:0 auto}.page-transition{animation:page-enter var(--motion-page) var(--ease-page) both}@keyframes page-enter{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.page-transition{animation:none}}.app-shell.has-bottom-nav .app-main{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.bottom-nav{z-index:35;border-top:1px solid var(--color-border);padding:4px 8px env(safe-area-inset-bottom);background:#fffffffa;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #173e740f}.bottom-nav-item{min-height:56px;color:var(--color-text-secondary);touch-action:manipulation;border-radius:14px;align-content:center;justify-items:center;gap:2px;padding:6px 4px;font-size:.76rem;font-weight:700;line-height:1.2;text-decoration:none;display:grid}.bottom-nav-item[aria-current=page]{color:var(--color-primary-strong);background:var(--color-primary-soft)}.bottom-nav-item:hover{color:var(--color-primary-strong)}.page-stack{gap:18px;display:grid}.page-header{gap:10px;display:grid}.page-header-main{gap:12px;display:grid}.page-description{color:var(--color-text-secondary);margin-top:6px;font-size:.95rem;line-height:1.6}.page-actions{flex-wrap:wrap;gap:10px;display:flex}.page-actions .button{flex:150px}.back-link{width:fit-content;min-height:44px;color:var(--color-text-secondary);align-items:center;gap:6px;font-size:.92rem;font-weight:650;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--color-primary-strong)}.section{gap:12px;display:grid}.section-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.section-header h2{font-size:1.08rem}.section-header .section-link{min-height:44px;color:var(--color-primary-strong);align-items:center;gap:2px;font-size:.9rem;font-weight:650;text-decoration:none;display:inline-flex}.panel{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-soft)}.panel-body{padding:18px 16px}.divider{background:var(--color-border);height:1px}@media (width>=760px){.app-header{-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);background:#ffffffc2;border:1px solid #ffffffc7;border-radius:22px;width:min(100% - 32px,1120px);margin:12px auto 0;padding-top:0;position:sticky;top:12px;box-shadow:inset 0 1px #fffc,0 18px 44px #173e741a}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.app-header{background:var(--color-surface)}}.app-header-inner{min-height:64px;padding:8px 18px}.desktop-nav{margin-left:18px;display:flex}.user-area{margin-left:auto}.user-name{max-width:160px}.user-area .button-label{display:inline}.app-main{padding:30px 24px 48px}.app-shell.has-bottom-nav .app-main{padding-bottom:48px}.bottom-nav{display:none}.page-header-main{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.page-actions{flex-wrap:nowrap;flex:none}.page-actions .button{flex:none}.panel-body{padding:22px 24px}}@media (width<=759px){.glass{background:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:none;backdrop-filter:none}}.login-page{min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));align-items:center;display:grid}.login-shell{gap:18px;width:min(100%,440px);margin:0 auto;display:grid}.login-intro{gap:8px;padding:4px 2px;display:grid}.login-brand{color:var(--color-text);align-items:center;gap:10px;display:inline-flex}.login-title{font-size:clamp(1.7rem,6vw,2.15rem)}.login-subtitle{color:var(--color-text-secondary);font-size:.96rem;line-height:1.65}.login-card{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-panel);padding:20px 18px}.login-form{gap:16px;display:grid}.password-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.password-row .button{min-width:64px}.login-meta{color:var(--color-text-muted);align-items:flex-start;gap:6px;font-size:.82rem;line-height:1.5;display:flex}.login-footer{color:var(--color-text-muted);text-align:center;font-size:.78rem}.device-summary{padding:18px 16px}.device-summary-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.device-id{font-family:var(--font-mono);letter-spacing:.02em;overflow-wrap:anywhere;align-items:center;gap:8px;font-size:1.05rem;font-weight:700;display:flex}.device-id .icon-muted{color:var(--color-primary-strong)}.device-binding{color:var(--color-text-secondary);overflow-wrap:anywhere;margin-top:4px;font-size:.82rem}.summary-grid{border:1px solid var(--color-border);background:var(--color-border);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:16px;display:grid;overflow:hidden}.summary-item{background:var(--color-surface);min-width:0;padding:12px}.summary-label{color:var(--color-text-secondary);font-size:.76rem}.summary-value{overflow-wrap:anywhere;margin-top:2px;font-size:.95rem;font-weight:700}.summary-note{color:var(--color-text-muted);margin-top:2px;font-size:.74rem}.sync-strip{border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:flex-start;gap:10px;margin-top:14px;padding-top:14px;display:flex}.sync-strip .section-link{margin-left:auto}.sync-strip-copy{gap:2px;min-width:0;display:grid}.sync-strip-copy strong{font-size:.94rem}.sync-strip-copy span{color:var(--color-text-secondary);font-size:.82rem;line-height:1.5}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.quick-actions .button{min-height:52px}.medicine-list{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-soft);overflow:hidden}.medicine-row{grid-template-columns:auto minmax(0,1fr);gap:10px 12px;padding:14px;display:grid}.medicine-row+.medicine-row{border-top:1px solid var(--color-border)}.medicine-row-skeleton{align-items:center}.slot-badge{border-radius:var(--radius-pill);background:var(--color-primary-soft);min-width:54px;min-height:30px;color:var(--color-primary-strong);white-space:nowrap;justify-content:center;align-self:start;align-items:center;padding:4px 8px;font-size:.76rem;font-weight:700;display:inline-flex}.medicine-main{gap:5px;min-width:0;display:grid}.medicine-name{overflow-wrap:anywhere;font-size:1.02rem;font-weight:700}.medicine-times{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.medicine-time{color:var(--color-text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;align-items:center;gap:4px;font-size:1.02rem;font-weight:700;display:inline-flex}.medicine-time .icon-muted{color:var(--color-text-muted)}.medicine-row-meta{grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;display:flex}.medicine-row-actions{gap:8px;display:flex}.medicine-row-actions .button{min-height:44px}.capacity-note{color:var(--color-text-secondary);align-items:flex-start;gap:6px;font-size:.84rem;line-height:1.5;display:flex}.list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 12px;min-height:44px;display:flex}.list-status{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 10px;min-height:30px;display:flex}.list-toolbar .button{flex:none}.form-panel{padding:18px 16px}.medicine-form{gap:20px;display:grid}.form-section{gap:8px;display:grid}.time-list{gap:10px;display:grid}.time-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.time-row .button{min-width:64px}.time-input{min-height:50px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.08rem}.form-actions{gap:10px;margin-top:4px;display:grid}.form-actions .button{min-height:50px}.form-note{color:var(--color-text-muted);align-items:flex-start;gap:6px;font-size:.8rem;line-height:1.5;display:flex}.device-state-grid{border:1px solid var(--color-border);background:var(--color-border);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.device-state-item{background:var(--color-surface);min-width:0;padding:12px}.device-state-label{color:var(--color-text-secondary);font-size:.76rem}.device-state-value{overflow-wrap:anywhere;margin-top:5px;font-size:.9rem;font-weight:650}.capability-panel{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);gap:10px;padding:16px;display:grid}.bind-form{gap:10px;display:grid}.browser-note{color:var(--color-text-secondary);align-items:flex-start;gap:8px;font-size:.88rem;line-height:1.55;display:flex}.browser-note strong{color:var(--color-text)}.steps{gap:0;margin:0;padding:0;list-style:none;display:grid}.step{border-top:1px solid var(--color-border);grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px 0;display:grid}.step:first-child{border-top:0}.step-index{width:26px;height:26px;color:var(--color-text-secondary);background:#eef3f9;border-radius:50%;place-items:center;font-size:.76rem;font-weight:700;display:grid}.step-copy{gap:2px;min-width:0;display:grid}.step-title{font-size:.92rem;font-weight:650}.step-detail{color:var(--color-text-secondary);font-size:.8rem;line-height:1.5}.step-status{color:var(--color-text-muted);white-space:nowrap;align-self:center;font-size:.76rem}.danger-zone{border-radius:var(--radius-panel);background:var(--color-danger-soft);border:1px solid #f2c7c7;gap:10px;padding:16px;display:grid}.danger-zone h2{font-size:1rem}.danger-zone p{color:var(--color-text-secondary);font-size:.86rem;line-height:1.55}.challenge-box{border:1px solid var(--color-primary-border);border-radius:var(--radius-control);background:var(--color-info-soft);gap:6px;padding:12px;display:grid}.challenge-label{color:var(--color-text-secondary);font-size:.76rem}.challenge-value{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.9rem}@media (width>=760px){.login-page{padding-block:48px}.login-shell{grid-template-columns:minmax(0,1fr) 420px;align-items:center;gap:48px;width:min(100%,920px)}.login-intro{gap:12px}.login-card{padding:28px 26px}.device-summary{padding:22px 24px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.medicine-row{grid-template-columns:64px minmax(0,1fr) auto;align-items:center;padding:16px 18px}.medicine-row-meta{grid-column:auto;justify-content:flex-end}.medicine-row-actions{margin-left:12px}.form-panel{padding:24px}.form-actions{grid-template-columns:minmax(0,220px) minmax(0,220px);justify-content:end}.device-state-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=359px){.app-main{padding-inline:12px}.summary-grid,.quick-actions{grid-template-columns:1fr}.medicine-row-meta{flex-direction:column;align-items:flex-start}}
