/* AMOSGYM 앱 스타일. 시안(design/mockup.html) 구성을 같은 토큰·간격으로 옮김.
   모든 색은 --am-* 변수만 쓴다. */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
[data-am-root] body{background:var(--am-bg);color:var(--am-text);font-family:var(--am-font);font-size:var(--am-fs-md);line-height:1.5;-webkit-font-smoothing:antialiased}
[data-am-root] button{font:inherit}
[data-am-root] :focus-visible{outline:2px solid var(--am-focus);outline-offset:2px}
[data-am-root] [hidden]{display:none!important}
.am-side a:focus-visible,.am-side button:focus-visible,.am-m__tabs a:focus-visible,.am-m__drawer a:focus-visible,.am-m__drawer button:focus-visible{outline-color:var(--am-white)}

/* ---------- 공통 프리미티브 ---------- */
.am-logo{display:block;color:currentColor}
.am-ico{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:square;stroke-linejoin:miter}
.am-ico--lg{width:20px;height:20px}
.am-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--am-sp-2);height:36px;padding:0 var(--am-sp-4);border:var(--am-bw) solid var(--am-line);border-radius:var(--am-radius);background:var(--am-surface);color:var(--am-text);font-size:var(--am-fs-md);font-weight:700;cursor:pointer;white-space:nowrap;text-decoration:none}
.am-btn--primary{background:var(--am-surface-ink);color:var(--am-text-on-ink)}
.am-btn--sm{height:30px;padding:0 var(--am-sp-3);font-size:var(--am-fs-sm)}
.am-btn--block{width:100%;height:44px;font-size:var(--am-fs-lg)}
.am-btn--ghost{border-color:var(--am-hairline)}
.am-btn:disabled{opacity:.45;cursor:not-allowed}
.am-input{display:flex;align-items:center;gap:var(--am-sp-2);height:36px;padding:0 var(--am-sp-3);border:var(--am-hw) solid var(--am-ink-40);border-radius:var(--am-radius);background:var(--am-surface);font-size:var(--am-fs-md);color:var(--am-text)}
.am-input input{border:0;outline:0;background:transparent;font:inherit;color:inherit;width:100%;min-width:0}
.am-input input::placeholder{color:var(--am-text-muted)}
.am-input--lg{height:44px;font-size:var(--am-fs-lg);border-width:var(--am-bw);border-color:var(--am-line)}
.am-input .ph{color:var(--am-text-muted)}
.am-input .am-ico{color:var(--am-ink-60)}
.am-select{display:inline-flex;align-items:center;gap:var(--am-sp-2);height:36px;padding:0 var(--am-sp-2) 0 var(--am-sp-3);border:var(--am-hw) solid var(--am-ink-40);border-radius:var(--am-radius);background:var(--am-surface);font-size:var(--am-fs-md);white-space:nowrap}
.am-select small{color:var(--am-text-muted);font-size:var(--am-fs-xs);letter-spacing:var(--am-track);text-transform:uppercase}
.am-select b{font-weight:700}
.am-label{display:block;font-size:var(--am-fs-xs);font-weight:700;letter-spacing:var(--am-track);text-transform:uppercase;color:var(--am-text-muted);margin-bottom:var(--am-sp-2)}
.am-badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 var(--am-sp-2);border-radius:var(--am-radius);font-size:var(--am-fs-xs);font-weight:700;letter-spacing:0.02em;white-space:nowrap}
.am-badge--sample{border:var(--am-hw) dashed var(--am-ink-40);color:var(--am-text-muted);background:var(--am-surface)}
.am-badge--ink{background:var(--am-surface-ink);color:var(--am-text-on-ink)}
.am-badge--outline{border:var(--am-hw) solid var(--am-line);color:var(--am-text)}
.am-status{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 var(--am-sp-2);border-radius:var(--am-radius);font-size:var(--am-fs-xs);font-weight:700;white-space:nowrap}
.am-status::before{content:"";width:8px;height:8px;background:currentColor;flex:none}
.am-status--ok{color:var(--am-ok);background:var(--am-ok-bg)}
.am-status--warn{color:var(--am-warn);background:var(--am-warn-bg)}
.am-status--warn::before{clip-path:polygon(50% 0,100% 100%,0 100%)}
.am-status--err{color:var(--am-err);background:var(--am-err-bg)}
.am-status--err::before{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.am-status--idle{color:var(--am-text-muted);background:var(--am-ink-08)}
.am-status--idle::before{background:transparent;border:1.5px solid currentColor}
.am-delta{display:inline-block;font-size:var(--am-fs-sm);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.am-delta--up::before{content:"▲ ";font-size:9px}
.am-delta--down::before{content:"▼ ";font-size:9px}
.am-delta--down{color:var(--am-err)}
.num{font-variant-numeric:tabular-nums;text-align:right}
.am-nodata{color:var(--am-text-muted);font-size:var(--am-fs-sm);font-weight:400}
.am-tabs{display:inline-flex;border:var(--am-bw) solid var(--am-line);border-radius:var(--am-radius);overflow:hidden;max-width:100%;overflow-x:auto}
.am-tabs button{appearance:none;border:0;border-right:var(--am-bw) solid var(--am-line);background:var(--am-surface);padding:0 var(--am-sp-4);height:32px;display:inline-flex;align-items:center;font-weight:700;font-size:var(--am-fs-md);color:var(--am-text);cursor:pointer;white-space:nowrap;flex:none}
.am-tabs button:last-child{border-right:0}
.am-tabs button.is-active{background:var(--am-surface-ink);color:var(--am-text-on-ink)}
.am-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 var(--am-sp-3);border:var(--am-hw) solid var(--am-ink-40);border-radius:var(--am-radius-pill);font-size:var(--am-fs-sm);font-weight:700;background:var(--am-surface);cursor:pointer;color:var(--am-text)}
.am-chip.is-active{background:var(--am-surface-ink);border-color:var(--am-surface-ink);color:var(--am-text-on-ink)}
.am-bar{height:8px;background:var(--am-ink-08);position:relative;overflow:hidden}
.am-bar i{position:absolute;inset:0 auto 0 0;background:var(--am-ink)}
.am-bar--mid i{background:var(--am-ink-40)}
.am-bar--hatch i{background:repeating-linear-gradient(135deg,var(--am-ink) 0 2px,var(--am-white) 2px 5px);outline:var(--am-hw) solid var(--am-ink);outline-offset:-1px}
.am-avatar{width:32px;height:32px;border-radius:var(--am-radius);background:var(--am-surface-ink);color:var(--am-text-on-ink);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:var(--am-fs-sm);flex:none}
.am-avatar--light{background:var(--am-white);color:var(--am-ink)}

/* ---------- 앱 셸(데스크톱) ---------- */
.am-app{display:grid;grid-template-columns:var(--am-sidebar-w) 1fr;min-height:100vh;background:var(--am-bg)}
.am-side{background:var(--am-surface-ink);color:var(--am-text-on-ink);display:flex;flex-direction:column;padding:var(--am-sp-6) 0 var(--am-sp-4);position:sticky;top:0;height:100vh}
.am-side__logo{padding:0 var(--am-sp-6) var(--am-sp-6);border-bottom:var(--am-hw) solid var(--am-ink-80);margin-bottom:var(--am-sp-4)}
.am-side__logo .am-logo{width:128px}
.am-side__scope{padding:0 var(--am-sp-4) var(--am-sp-3)}
.am-nav{display:flex;flex-direction:column;gap:2px;padding:0 var(--am-sp-3);overflow-y:auto}
.am-nav a{display:flex;align-items:center;gap:var(--am-sp-3);height:40px;padding:0 var(--am-sp-3);border-radius:var(--am-radius);color:var(--am-text-on-ink-muted);font-weight:700;font-size:var(--am-fs-md);text-decoration:none}
.am-nav a .am-ico{color:inherit}
.am-nav a.is-active{background:var(--am-white);color:var(--am-ink)}
.am-nav a:hover{color:var(--am-text-on-ink)}
.am-nav a.is-active:hover{color:var(--am-ink)}
.am-nav .tag{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:var(--am-track);border:var(--am-hw) solid var(--am-ink-60);color:var(--am-text-on-ink-muted);padding:1px 5px;border-radius:var(--am-radius)}
.am-nav a.is-active .tag{border-color:var(--am-ink);color:var(--am-ink)}
.am-nav .sep{height:var(--am-hw);background:var(--am-ink-80);margin:var(--am-sp-2) var(--am-sp-3)}
.am-side__foot{margin-top:auto;padding:var(--am-sp-4) var(--am-sp-4) 0;border-top:var(--am-hw) solid var(--am-ink-80);display:flex;align-items:center;gap:var(--am-sp-3);font-size:var(--am-fs-sm)}
.am-side__foot small{display:block;color:var(--am-text-on-ink-muted);font-size:var(--am-fs-xs)}
.am-side__foot .am-ico{margin-left:auto;color:var(--am-text-on-ink-muted)}
.am-main{display:flex;flex-direction:column;min-width:0}
.am-top{height:var(--am-topbar-h);background:var(--am-surface);border-bottom:var(--am-bw) solid var(--am-line);display:flex;align-items:center;gap:var(--am-sp-4);padding:0 var(--am-sp-8);position:sticky;top:0;z-index:20}
.am-top__crumb{display:flex;align-items:center;gap:var(--am-sp-2);font-size:var(--am-fs-sm);color:var(--am-text-muted)}
.am-top__crumb b{color:var(--am-text);font-size:var(--am-fs-lg);font-weight:800}
.am-top__right{margin-left:auto;display:flex;align-items:center;gap:var(--am-sp-3)}
.am-top__right .am-ico{color:var(--am-ink)}
.am-top__search{width:260px;height:34px}
.am-content{padding:var(--am-sp-6) var(--am-sp-8) var(--am-sp-8);display:flex;flex-direction:column;gap:var(--am-sp-6)}
.am-page{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--am-sp-4);flex-wrap:wrap}
.am-page h2{margin:0;font-size:var(--am-fs-2xl);font-weight:800;letter-spacing:-0.02em;line-height:1.2}
.am-page p{margin:var(--am-sp-1) 0 0;color:var(--am-text-muted);font-size:var(--am-fs-sm)}
.am-page__tools{display:flex;align-items:center;gap:var(--am-sp-2);flex-wrap:wrap}
.am-filters{display:flex;align-items:center;gap:var(--am-sp-2);flex-wrap:wrap}
.am-filters .grow{flex:1}
.am-error{border:var(--am-bw) solid var(--am-err);background:var(--am-err-bg);color:var(--am-err);padding:var(--am-sp-4) var(--am-sp-6);font-weight:700}

/* 카드 */
.am-card{background:var(--am-surface);border:var(--am-hw) solid var(--am-hairline);border-top:var(--am-rule) solid var(--am-line);border-radius:var(--am-radius);padding:var(--am-sp-5) var(--am-sp-6)}
.am-card--flat{border-top-width:var(--am-hw);border-top-color:var(--am-hairline)}
.am-card--ink{background:var(--am-surface-ink);color:var(--am-text-on-ink);border-color:var(--am-surface-ink)}
.am-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--am-sp-3);margin-bottom:var(--am-sp-4)}
.am-card__head h3{margin:0;font-size:var(--am-fs-lg);font-weight:800}
.am-card__head small{color:var(--am-text-muted);font-size:var(--am-fs-sm);font-weight:400}
.am-card--ink .am-card__head small{color:var(--am-text-on-ink-muted)}
.am-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--am-sp-4)}
.am-forecast-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.am-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--am-sp-4)}
.am-grid-21{display:grid;grid-template-columns:2fr 1fr;gap:var(--am-sp-4)}
.am-grid-12{display:grid;grid-template-columns:1fr 2fr;gap:var(--am-sp-4)}

/* KPI 타일 */
.am-kpi{display:flex;flex-direction:column;gap:var(--am-sp-2);min-height:128px}
.am-kpi__label{font-size:var(--am-fs-xs);font-weight:700;letter-spacing:var(--am-track);text-transform:uppercase;color:var(--am-text-muted);display:flex;justify-content:space-between}
.am-card--ink .am-kpi__label{color:var(--am-text-on-ink-muted)}
.am-card--ink .am-kpi__label .am-status{background:transparent;color:var(--am-text-on-ink)}
.am-kpi__value{white-space:nowrap;font-size:var(--am-fs-hero);font-weight:800;letter-spacing:-0.03em;line-height:1;font-variant-numeric:tabular-nums;margin-top:auto}
.am-kpi__value small{font-size:var(--am-fs-lg);font-weight:700;letter-spacing:0;margin-left:2px}
.am-kpi__foot{display:flex;align-items:center;gap:var(--am-sp-2);row-gap:2px;flex-wrap:wrap;font-size:var(--am-fs-sm);color:var(--am-text-muted)}
.am-kpi__chunk{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.am-card--ink .am-kpi__foot{color:var(--am-text-on-ink-muted)}
.am-card--ink .am-delta--down{color:var(--am-text-on-ink)}

/* 표 */
.am-tablewrap{overflow-x:auto}
.am-table{width:100%;border-collapse:collapse;font-size:var(--am-fs-md);min-width:640px}
.am-table th{text-align:left;font-size:var(--am-fs-xs);font-weight:700;letter-spacing:var(--am-track);text-transform:uppercase;color:var(--am-text-muted);padding:0 var(--am-sp-3) var(--am-sp-2);border-bottom:var(--am-bw) solid var(--am-line);white-space:nowrap}
.am-table td{padding:var(--am-sp-3);border-bottom:var(--am-hw) solid var(--am-hairline-soft);vertical-align:middle;white-space:nowrap}
.am-table tr:last-child td{border-bottom:0}
.am-table th.num,.am-table td.num{text-align:right}
.am-table td.strong{font-weight:700}
.am-table tfoot td{border-top:var(--am-bw) solid var(--am-line);border-bottom:0;font-weight:800;background:var(--am-ink-04)}
.am-table .barcell{min-width:160px}
.am-table .barcell .am-bar{margin-top:4px}
.am-table .rank{font-size:var(--am-fs-lg);font-weight:800;width:48px}
.am-table .who{display:flex;align-items:center;gap:var(--am-sp-2)}
.am-pager{display:flex;align-items:center;justify-content:space-between;margin-top:var(--am-sp-4);font-size:var(--am-fs-sm);color:var(--am-text-muted)}
.am-pager__pages{display:inline-flex;border:var(--am-hw) solid var(--am-hairline)}
.am-pager__pages button{appearance:none;background:var(--am-surface);border:0;border-right:var(--am-hw) solid var(--am-hairline);min-width:32px;height:30px;display:inline-flex;align-items:center;justify-content:center;color:var(--am-text);font-weight:700;cursor:pointer;padding:0 6px}
.am-pager__pages button:last-child{border-right:0}
.am-pager__pages button.is-active{background:var(--am-surface-ink);color:var(--am-text-on-ink)}
.am-pager__pages button:disabled{opacity:.4;cursor:default}

/* 차트 */
.am-chart{width:100%;height:auto;display:block;font-family:var(--am-font)}
.am-chart text{fill:var(--am-text-muted);font-size:11px;font-variant-numeric:tabular-nums}
.am-chart text.lbl{fill:var(--am-text);font-weight:700;font-size:12px}
.am-chart .grid{stroke:var(--am-chart-grid);stroke-width:1}
.am-chart .axis{stroke:var(--am-chart-axis);stroke-width:1}
.am-chart .s1{stroke:var(--am-series-1);stroke-width:2.5;fill:none;stroke-linejoin:round;stroke-linecap:round}
.am-chart .s2{stroke:var(--am-series-2);stroke-width:2;fill:none;stroke-linejoin:round;stroke-linecap:round}
.am-chart .s3{stroke:var(--am-series-1);stroke-width:2;fill:none;stroke-dasharray:2 5;stroke-linejoin:round;stroke-linecap:round}
.am-chart .dot1{fill:var(--am-series-1);stroke:var(--am-white);stroke-width:2}
.am-chart .dot2{fill:var(--am-series-2);stroke:var(--am-white);stroke-width:2}
.am-chart .dot3{fill:var(--am-white);stroke:var(--am-series-1);stroke-width:2}
.am-chart .hit{fill:transparent}
.am-chart__note{margin:var(--am-sp-2) 0 0;color:var(--am-text-muted);font-size:var(--am-fs-sm)}
.am-chart__note .num{white-space:nowrap}
.am-legend{display:flex;gap:var(--am-sp-5);flex-wrap:wrap;font-size:var(--am-fs-sm);color:var(--am-text-muted)}
.am-legend span{display:inline-flex;align-items:center;gap:6px}
.am-legend i{width:18px;height:0;border-top:2.5px solid var(--am-series-1)}
.am-legend i.l2{border-top:2px solid var(--am-series-2)}
.am-legend i.l3{border-top:2px dashed var(--am-series-1)}
.am-legend i.b1{width:12px;height:12px;border:0;background:var(--am-series-1)}
.am-legend i.b2{width:12px;height:12px;border:0;background:var(--am-series-2)}
.am-legend i.b3{width:12px;height:12px;border:var(--am-hw) solid var(--am-ink);background:repeating-linear-gradient(135deg,var(--am-ink) 0 2px,var(--am-white) 2px 5px)}
.am-hbars{display:flex;flex-direction:column;gap:var(--am-sp-4)}
.am-hbar{display:grid;grid-template-columns:56px 1fr 120px;align-items:center;gap:var(--am-sp-3);font-size:var(--am-fs-md)}
.am-hbar b{font-weight:700}
.am-hbar .track{height:22px;background:var(--am-ink-04);position:relative}
.am-hbar .track i{position:absolute;inset:0 auto 0 0}
.am-hbar.h1 .track i{background:var(--am-series-1)}
.am-hbar.h2 .track i{background:var(--am-series-2)}
.am-hbar.h3 .track i{background:repeating-linear-gradient(135deg,var(--am-ink) 0 2px,var(--am-white) 2px 5px);outline:var(--am-hw) solid var(--am-ink);outline-offset:-1px}
.am-hbar .num{font-weight:700;white-space:nowrap}
.am-hbar small{display:block;font-weight:400;color:var(--am-text-muted);font-size:var(--am-fs-xs);white-space:normal}

/* 연결 상태 목록 */
.am-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.am-list li{display:flex;align-items:center;gap:var(--am-sp-3);padding:var(--am-sp-3) 0;border-bottom:var(--am-hw) solid var(--am-hairline-soft);font-size:var(--am-fs-md)}
.am-list li:last-child{border-bottom:0}
.am-list li small{color:var(--am-text-muted);font-size:var(--am-fs-xs);display:block}
.am-list li .am-status{margin-left:auto}

/* ---------- 로그인 ---------- */
.am-login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:var(--am-surface)}
.am-login__brand{background:var(--am-surface-ink);color:var(--am-text-on-ink);display:flex;flex-direction:column;padding:var(--am-sp-10)}
.am-login__brand .am-logo{width:300px;margin:auto;max-width:100%}
.am-login__brand .meta{display:flex;justify-content:space-between;font-size:var(--am-fs-xs);letter-spacing:var(--am-track);text-transform:uppercase;color:var(--am-text-on-ink-muted)}
.am-login__brand .meta b{color:var(--am-text-on-ink)}
.am-login__form{display:flex;align-items:center;justify-content:center;padding:var(--am-sp-10)}
.am-login__card{width:400px;max-width:100%;display:flex;flex-direction:column;gap:var(--am-sp-5)}
.am-login__card h2{margin:0;font-size:var(--am-fs-2xl);font-weight:800;letter-spacing:-0.02em}
.am-login__card p{margin:var(--am-sp-1) 0 0;color:var(--am-text-muted);font-size:var(--am-fs-sm)}
.am-login__card .field{display:flex;flex-direction:column}
.am-login__local{border:var(--am-bw) solid var(--am-line);padding:var(--am-sp-4);font-size:var(--am-fs-sm);display:flex;flex-direction:column;gap:var(--am-sp-2)}
.am-login__local b{font-size:var(--am-fs-md)}
.am-login__foot{font-size:var(--am-fs-xs);color:var(--am-text-muted);text-align:center}

/* ---------- 빈 상태 ---------- */
.am-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--am-sp-12) var(--am-sp-8);gap:var(--am-sp-4);max-width:560px;margin:0 auto}
.am-empty .am-logo{width:72px;color:var(--am-ink-15)}
.am-empty h3{margin:var(--am-sp-2) 0 0;font-size:var(--am-fs-xl);font-weight:800}
.am-empty p{margin:0;color:var(--am-text-muted);max-width:420px}
.am-steps{list-style:none;margin:var(--am-sp-2) 0 0;padding:0;width:100%;text-align:left;border:var(--am-hw) solid var(--am-hairline)}
.am-steps li{display:flex;align-items:center;gap:var(--am-sp-3);padding:var(--am-sp-3) var(--am-sp-4);border-bottom:var(--am-hw) solid var(--am-hairline-soft);font-size:var(--am-fs-md)}
.am-steps li:last-child{border-bottom:0}
.am-steps .n{width:24px;height:24px;border:var(--am-bw) solid var(--am-line);display:inline-flex;align-items:center;justify-content:center;font-size:var(--am-fs-xs);font-weight:800;flex:none}
.am-steps .n.done{background:var(--am-ink);color:var(--am-white)}
.am-steps .n.off{border-color:var(--am-ink-25);color:var(--am-ink-40)}
.am-steps li.off{color:var(--am-text-muted)}
.am-steps li small{display:block;color:var(--am-text-muted);font-size:11px}
.am-steps .am-status{margin-left:auto}
.am-empty .actions{display:flex;gap:var(--am-sp-2);margin-top:var(--am-sp-2);flex-wrap:wrap;justify-content:center}

/* ---------- 공용 드롭다운·기간 선택(네이티브 select·date 대신) ---------- */
.am-dd{position:relative;display:inline-block;min-width:0}
.am-dd__btn{display:inline-flex;align-items:center;gap:var(--am-sp-2);height:36px;max-width:100%;padding:0 var(--am-sp-2) 0 var(--am-sp-3);border:var(--am-hw) solid var(--am-ink-40);border-radius:var(--am-radius);background:var(--am-surface);font-size:var(--am-fs-md);color:var(--am-text);cursor:pointer;white-space:nowrap}
.am-dd__btn small{color:var(--am-text-muted);font-size:var(--am-fs-xs);letter-spacing:var(--am-track);text-transform:uppercase}
.am-dd__btn b{font-weight:700;overflow:hidden;text-overflow:ellipsis}
.am-dd__btn .am-ico{color:var(--am-ink-60)}
.am-dd__btn[aria-expanded="true"]{border-width:var(--am-bw);border-color:var(--am-line);padding:0 calc(var(--am-sp-2) - 1px) 0 calc(var(--am-sp-3) - 1px)}
.am-dd__list{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;max-height:264px;overflow:auto;background:var(--am-surface);border:var(--am-bw) solid var(--am-line);border-radius:var(--am-radius);z-index:30;list-style:none;margin:0;padding:4px;display:none}
.am-dd.open .am-dd__list{display:block}
.am-dd__list li{padding:8px var(--am-sp-3);font-size:var(--am-fs-md);cursor:pointer;white-space:nowrap;border-radius:var(--am-radius)}
.am-dd__list li:hover{background:var(--am-ink-08)}
.am-dd__list li.hl{background:var(--am-ink-08);outline:2px solid var(--am-focus);outline-offset:-2px}
.am-dd__list li[aria-selected="true"]{background:var(--am-surface-ink);color:var(--am-text-on-ink);font-weight:700}
.am-dd--on-ink .am-dd__btn{width:100%;justify-content:space-between;background:transparent;color:var(--am-text-on-ink);border-color:var(--am-ink-60)}
.am-dd--on-ink .am-dd__btn small{color:var(--am-text-on-ink-muted)}
.am-dd--on-ink .am-dd__btn .am-ico{color:var(--am-text-on-ink)}
.am-period{flex-direction:column;gap:var(--am-sp-2);padding:var(--am-sp-2);min-width:248px}
.am-dd.open .am-period{display:flex}
.am-period__row{display:flex;gap:var(--am-sp-2)}
.am-period__row .am-input{height:34px;font-size:var(--am-fs-sm);flex:1;min-width:0}
.am-period__hint{font-size:var(--am-fs-xs);color:var(--am-text-muted)}
.am-period__err{font-size:var(--am-fs-xs);color:var(--am-err);font-weight:700;min-height:16px}

/* ---------- 모바일 ---------- */
.am-m{display:none}
.am-m__top{height:var(--am-mobile-top-h);background:var(--am-surface);border-bottom:var(--am-bw) solid var(--am-line);display:flex;align-items:center;gap:var(--am-sp-3);padding:0 var(--am-sp-4);flex:none}
.am-m__top .brand{display:flex;align-items:center;gap:var(--am-sp-2);color:var(--am-ink)}
.am-m__top .brand .mark{width:26px}
.am-m__top .brand .word{width:76px}
.am-m__top .am-chip{margin-left:auto;height:30px}
.am-m__iconbtn{appearance:none;border:0;background:transparent;padding:var(--am-sp-2);cursor:pointer;color:var(--am-ink);display:inline-flex}
.am-m__tabs{height:var(--am-mobile-tab-h);background:var(--am-surface-ink);color:var(--am-text-on-ink-muted);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));box-sizing:border-box;flex:none}
.am-m__tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;font-weight:700;color:inherit;text-decoration:none;min-width:0;box-sizing:border-box}
.am-m__tabs a.is-active{background:var(--am-white);color:var(--am-ink)}
.am-m__tabs button{appearance:none;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;font-weight:700;color:inherit;cursor:pointer;min-width:0;box-sizing:border-box}
.am-m__tabs .am-ico{width:20px;height:20px}
.am-m__scrim{position:fixed;inset:0;background:var(--am-ink);opacity:.55;z-index:40;border:0;padding:0;cursor:pointer}
.am-m__drawer{position:fixed;top:0;left:0;bottom:0;width:300px;max-width:86vw;background:var(--am-surface-ink);color:var(--am-text-on-ink);display:flex;flex-direction:column;padding:var(--am-sp-5) 0 var(--am-sp-4);box-shadow:var(--am-shadow-hard);z-index:41}
.am-m__drawer .head{display:flex;align-items:center;justify-content:space-between;padding:0 var(--am-sp-5) var(--am-sp-4);border-bottom:var(--am-hw) solid var(--am-ink-80);margin-bottom:var(--am-sp-3)}
.am-m__drawer .head .am-logo{width:104px;color:var(--am-text-on-ink)}
.am-m__drawer .head .am-m__iconbtn{color:var(--am-text-on-ink)}
.am-m__drawer .scope{padding:0 var(--am-sp-4) var(--am-sp-3);display:flex;gap:6px;flex-wrap:wrap}
.am-m__drawer .scope .am-chip{height:26px;font-size:var(--am-fs-xs);background:transparent;color:var(--am-text-on-ink-muted);border-color:var(--am-ink-60)}
.am-m__drawer .scope .am-chip.is-active{background:var(--am-white);color:var(--am-ink);border-color:var(--am-white)}
.am-m__drawer .am-nav a{height:38px}
.am-m__drawer .am-side__foot{padding-top:var(--am-sp-3)}
.am-m__drawer[hidden],.am-m__scrim[hidden]{display:none}

/* ---------- 2차: 보조 띠 탭·폼·진도·출처 배지·설정·모달 (시안 mockup-2 그대로) ---------- */
.am-strip{display:flex;gap:var(--am-sp-6);border-bottom:var(--am-hw) solid var(--am-hairline);margin-bottom:var(--am-sp-2)}
.am-strip button{appearance:none;background:none;border:0;position:relative;display:inline-flex;align-items:center;gap:var(--am-sp-2);height:40px;color:var(--am-text-muted);font-weight:700;font-size:var(--am-fs-md);cursor:pointer;padding:0}
.am-strip button.is-active{color:var(--am-text)}
.am-strip button.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:var(--am-rule);background:var(--am-line)}
.am-seg{display:inline-flex;border:var(--am-hw) solid var(--am-ink-40);border-radius:var(--am-radius);overflow:hidden}
.am-seg button{appearance:none;background:var(--am-surface);border:0;height:34px;padding:0 var(--am-sp-3);display:inline-flex;align-items:center;font-weight:700;font-size:var(--am-fs-sm);color:var(--am-text);cursor:pointer;border-right:var(--am-hw) solid var(--am-ink-40)}
.am-seg button:last-child{border-right:0}
.am-seg button.is-active{background:var(--am-ink);color:var(--am-white)}
.am-form{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--am-sp-3) var(--am-sp-4)}
.am-form--4{grid-template-columns:repeat(4,1fr)}
.am-field{display:flex;flex-direction:column;min-width:0}
.am-field .am-input,.am-field .am-select{width:100%}
.am-field--2{grid-column:span 2}.am-field--3{grid-column:span 3}.am-field--6{grid-column:span 6}
.am-field .req{color:var(--am-err)}
.am-textarea{min-height:72px;height:auto;align-items:flex-start;padding:var(--am-sp-2) var(--am-sp-3);line-height:1.5}
.am-form__actions{grid-column:1/-1;display:flex;gap:var(--am-sp-2);align-items:center;flex-wrap:wrap}
.am-form__actions .hint{margin-left:auto;font-size:var(--am-fs-xs);color:var(--am-text-muted)}
.am-msg{display:flex;align-items:flex-start;gap:var(--am-sp-3);padding:var(--am-sp-3) var(--am-sp-4);border:var(--am-hw) solid;border-radius:var(--am-radius);font-size:var(--am-fs-sm)}
.am-msg b{font-weight:800}
.am-msg--ok{border-color:var(--am-ok);background:var(--am-ok-bg);color:var(--am-ok)}
.am-msg--warn{border-color:var(--am-warn);background:var(--am-warn-bg);color:var(--am-warn)}
.am-msg--err{border-color:var(--am-err);background:var(--am-err-bg);color:var(--am-err)}
.am-msg--idle{border-color:var(--am-hairline);background:var(--am-ink-04);color:var(--am-text-muted)}
.am-msg .am-btn{margin-left:auto;flex:none}
/* 빈 안내 자리는 차지하지 않는다(빈 div가 플렉스·그리드 간격을 벌리지 않게). */
#go-msg:empty,#pt-msg:empty,#pf-msg:empty,#gt-msg:empty,#go-sumwarn:empty,#fn-msg:empty,#ff-msg:empty,#fn-fixed-msg:empty,#pr-msg:empty,#cu-msg:empty,#pl-msg:empty{display:none}
.am-src{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;letter-spacing:var(--am-track);text-transform:uppercase;border:var(--am-hw) solid var(--am-ink-40);padding:0 5px;height:18px;color:var(--am-text-muted);border-radius:var(--am-radius);white-space:nowrap}
.am-src--broj{border-color:var(--am-ink);color:var(--am-ink)}
.am-src--app{border-style:dashed}
.am-src--ext{border-style:dotted}
.am-bullet{position:relative;height:22px;background:var(--am-ink-04);border:var(--am-hw) solid var(--am-hairline)}
.am-bullet .fill{position:absolute;left:0;top:0;bottom:0;background:var(--am-ink)}
.am-bullet .fill.warn{background:var(--am-ink-40)}
.am-bullet .fill.err{background:repeating-linear-gradient(135deg,var(--am-ink) 0 2px,var(--am-white) 2px 5px);outline:var(--am-hw) solid var(--am-ink);outline-offset:-1px}
.am-bullet .exp{position:absolute;top:-5px;bottom:-5px;width:2px;background:var(--am-ink)}
.am-bullet .exp::after{content:"";position:absolute;left:-3px;top:-4px;border:4px solid transparent;border-top:5px solid var(--am-ink)}
.am-bullet .goal{position:absolute;right:0;top:0;bottom:0;width:2px;background:var(--am-ink)}
.am-prog{display:grid;grid-template-columns:120px 1fr 200px;align-items:center;gap:var(--am-sp-4);padding:var(--am-sp-3) 0;border-bottom:var(--am-hw) solid var(--am-hairline-soft)}
.am-prog:last-child{border-bottom:0}
.am-prog b{font-weight:800}
.am-prog small{display:block;font-weight:400;color:var(--am-text-muted);font-size:var(--am-fs-xs)}
.am-prog .nums{text-align:right;font-variant-numeric:tabular-nums;font-size:var(--am-fs-sm)}
.am-prog .nums b{font-size:var(--am-fs-lg)}
.am-legend i.exp{width:2px;height:12px;border:0;background:var(--am-ink)}
.am-legend i.hatch{width:12px;height:12px;border:var(--am-hw) solid var(--am-ink);background:repeating-linear-gradient(135deg,var(--am-ink) 0 2px,var(--am-white) 2px 5px)}
.am-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--am-sp-4)}
.am-grid-13{display:grid;grid-template-columns:248px minmax(0,1fr);gap:var(--am-sp-4)}
.am-grid-2>*,.am-grid-13>*{min-width:0}
.am-grid-2 .am-table th,.am-grid-2 .am-table td{padding-left:8px;padding-right:8px}
.am-flat-head{display:flex;align-items:center;gap:var(--am-sp-3);margin-bottom:var(--am-sp-3)}
.am-flat-head h3{margin:0;font-size:var(--am-fs-lg);font-weight:800}
.am-flat-head small{color:var(--am-text-muted);font-size:var(--am-fs-sm)}
.am-flat-head .r{margin-left:auto;display:flex;gap:var(--am-sp-2);align-items:center}
.am-note{font-size:var(--am-fs-xs);color:var(--am-text-muted)}
.am-kpi--sm{min-height:104px}
.am-kpi--sm .am-kpi__value{font-size:28px}
.am-sub{display:flex;align-items:center;justify-content:space-between;gap:var(--am-sp-3)}
.am-sub h5{margin:0;font-size:var(--am-fs-xs);font-weight:700;letter-spacing:var(--am-track);text-transform:uppercase;color:var(--am-text-muted)}
.am-pie{display:flex;align-items:center;gap:var(--am-sp-5)}
.am-pie svg{width:120px;height:120px;flex:none}
.am-setnav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.am-setnav a{white-space:nowrap;display:flex;align-items:center;gap:var(--am-sp-2);height:38px;padding:0 var(--am-sp-3);color:var(--am-text-muted);font-weight:700;text-decoration:none;border-radius:var(--am-radius)}
.am-setnav a.is-active{background:var(--am-ink);color:var(--am-white)}
.am-setnav a .am-status{margin-left:auto}
.am-sections{display:flex;flex-direction:column;gap:var(--am-sp-5)}
.am-matrix td.c{text-align:center}
.am-keymask{font-family:ui-monospace,Menlo,monospace;letter-spacing:0.2em;color:var(--am-text-muted)}
.am-kw{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 var(--am-sp-2) 0 var(--am-sp-3);border:var(--am-hw) solid var(--am-line);border-radius:var(--am-radius);font-size:var(--am-fs-sm);font-weight:700;background:var(--am-surface)}
.am-kw .x{width:14px;height:14px;color:var(--am-ink-60)}
.am-kw--add{border-style:dashed;border-color:var(--am-ink-40);color:var(--am-text-muted)}
.am-table tr.sub td:first-child{padding-left:var(--am-sp-8);color:var(--am-text-muted)}
.am-table tr.sub td{font-size:var(--am-fs-sm)}
.am-table .am-input{height:30px;font-size:var(--am-fs-sm);width:120px}
.am-table .am-input input{text-align:right;width:100%;font-variant-numeric:tabular-nums;font-weight:700}
.am-table .am-input--left input{text-align:left;font-weight:400}
.am-input.is-dirty{outline:2px solid var(--am-line);outline-offset:-2px}
.am-input input:disabled{color:var(--am-text-muted);cursor:not-allowed}

/* ---------- 재무·수익률(시안 mockup-2 s4·s5 그대로) ---------- */
.am-queue{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.am-queue li{display:grid;grid-template-columns:1fr auto;gap:var(--am-sp-2) var(--am-sp-4);padding:var(--am-sp-3) 0;border-bottom:var(--am-hw) solid var(--am-hairline-soft);align-items:center}
.am-queue li:last-child{border-bottom:0}
.am-queue .t{font-weight:700;min-width:0;overflow-wrap:anywhere}
.am-queue .t small{display:block;font-weight:400;color:var(--am-text-muted);font-size:var(--am-fs-xs)}
.am-queue .amt{font-weight:800;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.am-queue .acts{grid-column:1/-1;display:flex;gap:var(--am-sp-2);align-items:center;flex-wrap:wrap}
.am-check{display:inline-flex;align-items:center;gap:var(--am-sp-2)}
.am-check i{width:16px;height:16px;border:var(--am-bw) solid var(--am-line);display:inline-block;position:relative;flex:none}
.am-check i.on::after{content:"";position:absolute;inset:3px;background:var(--am-ink)}
.am-check i.off{border-color:var(--am-ink-25)}
.am-cellbtn{appearance:none;border:0;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--am-ink-40);font-variant-numeric:tabular-nums}
.am-cellbtn:hover{text-decoration-color:var(--am-ink)}

/* 인쇄용 보기: 셸·도구를 숨기고 본문만 둔다. */
@media print{
  .am-side,.am-top,.am-m,.am-page__tools,.am-modal,.am-menu{display:none!important}
  .am-app{display:block;min-height:0;background:var(--am-white)}
  .am-content{padding:0}
  .am-card{box-shadow:none;break-inside:avoid}
}

/* 앱 모달·더보기 메뉴 */
.am-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--am-sp-4);background:var(--am-scrim)}
.am-modal__dialog{width:480px;max-width:100%;max-height:calc(100vh - 64px);overflow:auto;background:var(--am-surface);border:var(--am-bw) solid var(--am-line);border-radius:var(--am-radius);box-shadow:var(--am-shadow-hard)}
.am-modal__dialog--wide{width:640px}
.am-modal__head{display:flex;align-items:center;justify-content:space-between;gap:var(--am-sp-3);padding:var(--am-sp-4) var(--am-sp-5);border-bottom:var(--am-bw) solid var(--am-line)}
.am-modal__head h3{margin:0;font-size:var(--am-fs-lg);font-weight:800}
.am-modal__close{appearance:none;border:0;background:transparent;padding:var(--am-sp-1);cursor:pointer;color:var(--am-ink);display:inline-flex}
.am-modal__body{padding:var(--am-sp-4) var(--am-sp-5);font-size:var(--am-fs-md)}
.am-modal__body p:first-child{margin-top:0}
.am-modal__foot{display:flex;gap:var(--am-sp-2);justify-content:flex-end;padding:var(--am-sp-4) var(--am-sp-5);border-top:var(--am-hw) solid var(--am-hairline)}
.am-menu{position:relative;display:inline-block}
.am-menu__btn{appearance:none;border:0;background:transparent;padding:var(--am-sp-1);cursor:pointer;color:var(--am-ink);display:inline-flex}
.am-menu__list{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;background:var(--am-surface);border:var(--am-bw) solid var(--am-line);border-radius:var(--am-radius);z-index:30;display:none;flex-direction:column;padding:4px}
.am-menu.open .am-menu__list{display:flex}
.am-menu__list button{appearance:none;border:0;background:transparent;text-align:left;padding:8px var(--am-sp-3);font-size:var(--am-fs-md);font-weight:700;color:var(--am-text);cursor:pointer;border-radius:var(--am-radius);white-space:nowrap}
.am-menu__list button:hover{background:var(--am-ink-08)}
.am-menu__list button:disabled{opacity:.45;cursor:not-allowed}
.am-menu__empty{padding:8px var(--am-sp-3);font-size:var(--am-fs-sm);color:var(--am-text-muted)}
.am-grid-32{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,1.3fr);gap:var(--am-sp-4);align-items:start}
.am-chips{display:inline-flex;gap:var(--am-sp-2);flex-wrap:wrap}
.am-detail{display:flex;flex-direction:column;gap:var(--am-sp-3)}
.am-detail__head{display:flex;align-items:center;gap:var(--am-sp-3)}
.am-detail__head h4{margin:0;font-size:var(--am-fs-lg);font-weight:800}
.am-detail__head small{color:var(--am-text-muted);font-size:var(--am-fs-xs)}
.am-detail__head .am-status{margin-left:auto}
.am-detail__close{display:none;appearance:none;border:0;background:none;padding:var(--am-sp-1);cursor:pointer;color:var(--am-ink);font-size:var(--am-fs-md)}
.am-dl{display:grid;grid-template-columns:1fr 1fr;gap:var(--am-sp-2) var(--am-sp-4);margin:0;padding:var(--am-sp-3) 0;border-top:var(--am-hw) solid var(--am-hairline);border-bottom:var(--am-hw) solid var(--am-hairline)}
.am-dl dt{font-size:var(--am-fs-xs);color:var(--am-text-muted)}
.am-dl dd{margin:2px 0 0;font-weight:700;font-size:var(--am-fs-md);font-variant-numeric:tabular-nums}
.am-dl dd small{font-weight:400;color:var(--am-text-muted)}
.am-tl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--am-sp-2)}
.am-tl li{position:relative;padding-left:18px;font-size:var(--am-fs-sm)}
.am-tl li::before{content:"";position:absolute;left:2px;top:5px;width:8px;height:8px;background:var(--am-ink)}
.am-tl li.src-app::before{background:transparent;border:1.5px solid var(--am-ink)}
.am-tl li b{display:block;font-size:var(--am-fs-sm)}
.am-tl li small{color:var(--am-text-muted)}
.am-tl li .src{font-size:10px;color:var(--am-text-muted);border:var(--am-hw) solid var(--am-ink-40);border-radius:var(--am-radius);padding:0 4px;margin-left:6px;font-weight:400}
.am-tl__menu{display:inline-block;margin-left:var(--am-sp-2);vertical-align:middle}
.am-table tr.is-selected{box-shadow:inset 3px 0 0 var(--am-line)}
.am-table tr[data-member],.am-table tr[data-isel]{cursor:pointer}
.am-table .who{display:inline-flex;align-items:center;gap:var(--am-sp-2)}
.am-table .who small{display:block;font-weight:400;color:var(--am-text-muted);font-size:11px}
.am-spark{width:96px;height:24px}
.am-rankbig{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.am-rankbig small{font-size:12px;font-weight:700;color:var(--am-text-muted)}
.am-place-expand{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:var(--am-sp-5);align-items:start}
.am-place-expand .am-dl{border-top:0;padding-top:0}
.am-kw button.x{appearance:none;border:0;background:none;padding:0;cursor:pointer;color:var(--am-ink-60);font-size:12px;line-height:1}
.am-mlist{display:none}
.am-grid-32 .am-m__scrim{display:none}
tr.expand td{background:var(--am-surface)}

@media (max-width:768px){
  .am-app{display:block;min-height:0}
  .am-side{display:none}
  .am-top{display:none}
  .am-m{display:flex;position:relative;background:var(--am-bg);flex-direction:column;min-height:100vh}
  .am-m__body{flex:1;padding:var(--am-sp-4);display:flex;flex-direction:column;gap:var(--am-sp-3);padding-bottom:calc(var(--am-mobile-tab-h) + var(--am-sp-4))}
  .am-m__tabs{position:fixed;left:0;right:0;bottom:0}
  .am-m__page{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--am-sp-2)}
  .am-m__page h2{margin:0;font-size:22px;font-weight:800;letter-spacing:-0.02em}
  .am-m__page p{margin:0;color:var(--am-text-muted);font-size:var(--am-fs-xs)}
  .am-page__title{display:none}
  .am-hide-m{display:none}
  .am-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .am-forecast-grid{grid-template-columns:minmax(0,1fr)}
  .am-grid-3,.am-grid-21,.am-grid-12{grid-template-columns:minmax(0,1fr)}
  .am-card{min-width:0}
  .am-card__head{flex-wrap:wrap}
  .am-card__head .am-legend{flex:1 1 100%}
  .am-kpi{min-height:92px;gap:var(--am-sp-1)}
  .am-kpi__value{font-size:24px;white-space:normal;overflow-wrap:anywhere}
  .am-kpi__value small{font-size:12px}
  .am-card{padding:var(--am-sp-3) var(--am-sp-4)}
  .am-content{padding:0}
  .am-page h2{font-size:var(--am-fs-xl)}
  .am-top__search{display:none}
  .am-hbar{grid-template-columns:44px 1fr 84px;font-size:12px}
  .am-hbar .track{height:16px}
  .am-login{grid-template-columns:1fr}
  .am-login__brand{padding:var(--am-sp-6)}
  .am-login__brand .am-logo{width:180px;margin:var(--am-sp-6) auto}
  .am-login__form{padding:var(--am-sp-6)}
  .am-grid-2,.am-grid-13{grid-template-columns:minmax(0,1fr)}
  .am-strip{gap:var(--am-sp-4);overflow-x:auto;padding-bottom:2px;margin-bottom:0}
  .am-strip button{height:36px;font-size:var(--am-fs-sm);flex:none}
  .am-prog{grid-template-columns:72px 1fr 92px;gap:var(--am-sp-2);padding:var(--am-sp-2) 0}
  .am-prog .nums{font-size:var(--am-fs-xs)}
  .am-prog .nums b{font-size:var(--am-fs-md)}
  .am-bullet{height:16px}
  .am-form{grid-template-columns:1fr 1fr;gap:var(--am-sp-2) var(--am-sp-3)}
  .am-form--4{grid-template-columns:1fr 1fr}
  .am-field--2,.am-field--3{grid-column:span 2}
  .am-table .am-input{width:84px;height:28px}
  .am-kpi--sm{min-height:76px}
  .am-kpi--sm .am-kpi__value{font-size:22px}
  .am-setnav{flex-direction:row;overflow-x:auto}
  .am-setnav a{flex:none}
  .am-pie{flex-direction:column;align-items:stretch}
  .am-modal__dialog{width:100%}
  .am-grid-32{grid-template-columns:minmax(0,1fr)}
  .am-chips{display:flex;gap:var(--am-sp-2);overflow-x:auto;padding-bottom:2px;max-width:100%}
  .am-chips .am-chip{flex:none}
  .am-cust-table{display:none}
  .am-mlist{display:flex;flex-direction:column;gap:var(--am-sp-2)}
  .am-mcard{appearance:none;border:var(--am-bw) solid var(--am-line);border-radius:var(--am-radius);background:var(--am-surface);padding:var(--am-sp-3);display:flex;gap:var(--am-sp-3);align-items:center;text-align:left;width:100%;cursor:pointer;color:var(--am-text);font:inherit}
  .am-mcard__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
  .am-mcard .nm{font-weight:800;font-size:var(--am-fs-md);display:flex;gap:var(--am-sp-2);align-items:baseline}
  .am-mcard .nm small{font-weight:400;color:var(--am-text-muted);font-size:var(--am-fs-xs)}
  .am-mcard .mt{font-size:var(--am-fs-xs);color:var(--am-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .am-mcard .rt{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}
  .am-mcard .rt b{font-variant-numeric:tabular-nums}
  .am-cust-sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;max-height:88vh;overflow-y:auto;border-radius:var(--am-radius) var(--am-radius) 0 0;box-shadow:0 -4px 0 var(--am-line)}
  .am-detail__close{display:block}
  .am-grid-32 .am-m__scrim{display:block;position:fixed;inset:0;background:var(--am-ink);opacity:.55;z-index:40;border:0;padding:0;cursor:pointer}
  .am-grid-32 .am-m__scrim[hidden]{display:none}
  .am-place-expand{grid-template-columns:minmax(0,1fr)}
  .am-rankbig{font-size:19px}
}
