@charset "UTF-8";
/* Component rules use the shared project tokens. See ../../../../STYLE-GUIDE.md. */
*{box-sizing:border-box}
body{margin:0;background:var(--lm-canvas);color:var(--lm-ink);font-family:var(--lm-font-family);font-size:var(--lm-font-body);line-height:1.55}
a{color:var(--lm-accent);text-decoration:none}a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:var(--lm-size-web-control);padding:10px 18px;border:1px solid var(--lm-stroke);border-radius:var(--lm-radius-button);background:var(--lm-raised);color:var(--lm-ink);font-weight:600;cursor:pointer;white-space:nowrap}
button:hover,.button:hover{background:var(--lm-table-hover);border-color:var(--lm-muted);text-decoration:none}
.primary{background:var(--lm-accent);border-color:var(--lm-accent);color:var(--lm-accent-ink)}
.primary:hover{background:var(--lm-accent);border-color:var(--lm-ink);color:var(--lm-accent-ink);box-shadow:0 0 0 1px var(--lm-accent)}
.quiet{border-color:transparent;background:transparent;padding:8px;color:var(--lm-muted);font-size:var(--lm-font-caption)}
.full{width:100%}
:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--lm-accent);outline-offset:3px}
input,select,textarea{display:block;width:100%;min-height:var(--lm-size-web-control);padding:10px 12px;border:1px solid var(--lm-stroke);border-radius:var(--lm-radius-input);background:var(--lm-canvas);color:var(--lm-ink)}
input::placeholder,textarea::placeholder{color:var(--lm-muted);opacity:1}input:hover,select:hover,textarea:hover{border-color:var(--lm-muted)}textarea{resize:vertical}
label{display:flex;flex-direction:column;gap:7px;color:var(--lm-muted);font-size:var(--lm-font-caption);font-weight:600}
.check{display:flex;flex-direction:row;align-items:center;gap:9px;font-weight:400;font-size:var(--lm-font-body);min-height:var(--lm-size-web-control)}
.check input{width:18px;min-height:18px;height:18px;flex-shrink:0;accent-color:var(--lm-accent)}
h1,h2,h3,p{margin-top:0}h1{font-size:var(--lm-font-title);line-height:1.2;font-weight:600;letter-spacing:-.5px;margin-bottom:10px}
h2{font-size:var(--lm-font-section);font-weight:600}h3{font-size:16px;line-height:1.3;margin-bottom:6px;font-weight:600}
.muted,.fine{color:var(--lm-muted)}.fine{font-size:var(--lm-font-caption);line-height:1.6}
.eyebrow{font-size:var(--lm-font-label);letter-spacing:1.7px;font-weight:600;color:var(--lm-muted);margin-bottom:12px}
.brand{display:inline-grid;grid-template-columns:36px auto;column-gap:11px;align-items:center;color:var(--lm-ink);font-size:15px;font-weight:700;letter-spacing:2px;line-height:1.2;text-transform:uppercase;white-space:nowrap}
.brand::before{content:'';grid-column:1;grid-row:1 / 3;width:36px;height:36px;border-radius:var(--lm-radius-icon);background:var(--lm-sidebar) url('mark.svg') center/cover}
.brand span{grid-column:2;grid-row:2;color:var(--lm-muted);font-size:9px;letter-spacing:3px;font-weight:400}.brand:hover{text-decoration:none}
.skip{position:absolute;left:15px;top:-90px;padding:10px;background:var(--lm-accent);color:var(--lm-accent-ink);z-index:30}.skip:focus{top:10px}
.login{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}
.login-story{padding:42px 8%;background:var(--lm-sidebar);border-right:1px solid var(--lm-stroke);position:relative;overflow:hidden;display:flex;flex-direction:column}
.login-story::after{content:'';position:absolute;width:620px;height:620px;border:1px solid var(--lm-stroke);border-radius:50%;right:-340px;top:120px;pointer-events:none}
.story-content{position:relative;z-index:1;max-width:530px;margin:auto 0;padding:80px 0}
.story-content h1{font-size:clamp(36px,4vw,58px);line-height:1.12;letter-spacing:-1.5px;margin:24px 0}
.story-content>p:not(.eyebrow){color:var(--lm-muted);max-width:370px;font-size:16px;line-height:1.8}
.login-story .eyebrow{color:var(--lm-accent)}.story-line{height:2px;width:64px;background:var(--lm-accent);margin:36px 0 22px}
.story-meta{font-size:var(--lm-font-caption)!important}.story-meta span{margin:0 10px;color:var(--lm-stroke)}
.story-foot{font-size:9px;letter-spacing:2px;color:var(--lm-muted)}
.login-panel{display:flex;align-items:center;justify-content:center;padding:60px 35px}.login-form{width:100%;max-width:360px}
.login-form h2{font-size:var(--lm-font-title);font-weight:600;margin-bottom:10px}.login-form form:not(.language-form){display:grid;gap:18px;margin-top:28px}
.login-form .check{margin:0}.login-form .primary{margin-top:4px;justify-content:space-between}
.language-form{display:flex;gap:10px;align-items:flex-end;margin:26px 0 18px;padding-top:22px;border-top:1px solid var(--lm-stroke)}.language-form label{flex:1}
.shell{max-width:1480px;margin:0 auto;padding:0 40px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px;border-bottom:1px solid var(--lm-stroke)}
.server{display:flex;align-items:center;gap:9px;font-size:var(--lm-font-caption);color:var(--lm-muted)}
.server i,.dot{display:inline-block;width:6px;height:6px;background:var(--lm-accent);border-radius:50%}
.server>span{border:1px solid var(--lm-stroke);border-radius:4px;padding:1px 6px;font-size:var(--lm-font-label);color:var(--lm-muted)}
.account{display:flex;align-items:center;gap:14px;font-size:var(--lm-font-caption)}.account>span{font-weight:600;max-width:180px;overflow-wrap:anywhere}
.navigation{display:flex;gap:8px;padding:10px 0;border-bottom:1px solid var(--lm-stroke);align-items:stretch}
.navigation a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 18px;border:1px solid transparent;border-radius:var(--lm-radius-button);color:var(--lm-muted);font-size:var(--lm-font-body)}
.navigation a:hover{text-decoration:none;background:var(--lm-raised);color:var(--lm-ink)}
.navigation a[aria-current]{background:var(--lm-accent-surface);color:var(--lm-accent);font-weight:600}
.content{min-height:65vh;padding:32px 0 48px}
.page-heading{display:flex;gap:22px;align-items:center;justify-content:space-between;margin-bottom:24px}.page-heading .eyebrow{margin-bottom:10px}.page-heading .muted{margin:0}
.overview-strip{display:flex;align-items:center;gap:0;margin-bottom:24px;padding:18px 0;background:var(--lm-surface);border:1px solid var(--lm-stroke);border-radius:var(--lm-radius-card)}
.overview-strip>div{display:flex;flex-direction:column;gap:2px;padding:0 24px;border-right:1px solid var(--lm-stroke)}
.overview-strip .stat-number{font-family:var(--lm-font-number-family);font-size:var(--lm-font-number);font-weight:600;font-variant-numeric:tabular-nums;color:var(--lm-ink)}
.overview-strip span:not(.stat-number){font-size:var(--lm-font-caption);color:var(--lm-muted)}
.overview-strip .strip-note{margin-left:auto;border:0;display:flex;flex-direction:row;align-items:center;font-size:var(--lm-font-caption);color:var(--lm-muted)}
.filters{display:grid;grid-template-columns:2fr repeat(3,1fr) .7fr;gap:16px;background:var(--lm-surface);border:1px solid var(--lm-stroke);padding:var(--lm-space-card);border-radius:var(--lm-radius-card);margin:24px 0;align-items:end}
.filters .search{grid-column:span 2}.filters .check{align-self:end}.filters .text-link{font-size:var(--lm-font-caption);align-self:center;text-align:center}
.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:24px 0 14px}.section-heading h2{margin:0}.section-heading>.muted{font-size:var(--lm-font-caption)}
.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--lm-stroke);border-radius:var(--lm-radius-card);background:var(--lm-surface)}
table{width:100%;border-collapse:collapse;text-align:left;font-size:var(--lm-font-body)}
th{height:var(--lm-size-table-header);padding:12px 16px;font-size:var(--lm-font-label);text-transform:uppercase;letter-spacing:.8px;font-weight:600;color:var(--lm-muted);background:var(--lm-raised);border-bottom:1px solid var(--lm-stroke);white-space:nowrap}
td{height:var(--lm-size-table-row);padding:14px 16px;border-bottom:1px solid var(--lm-table-divider)}tr:last-child td{border-bottom:0}
tbody tr:nth-child(even){background:var(--lm-table-alternate)}tbody tr:hover{background:var(--lm-table-hover)}
.item-link{display:flex;align-items:center;gap:12px;color:var(--lm-ink);font-weight:600;min-width:220px}.item-link:hover{color:var(--lm-accent)}
.item-link small{display:block;font-size:var(--lm-font-label);font-weight:400;color:var(--lm-muted);margin-top:3px}
.item-initial{height:36px;width:36px;display:grid;place-items:center;background:var(--lm-raised);border:1px solid var(--lm-stroke);border-radius:var(--lm-radius-input);font-size:16px;color:var(--lm-accent);font-weight:600;flex-shrink:0}
.number{font-family:var(--lm-font-number-family);font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}td.number,th.number{text-align:right}
.buy{color:var(--lm-buy)}.sell{color:var(--lm-sell)}.positive{color:var(--lm-positive)}.negative{color:var(--lm-negative)}
.pagination{display:flex;align-items:center;justify-content:flex-end;gap:24px;margin:20px 0;font-size:var(--lm-font-caption)}.pagination span{color:var(--lm-muted)}
.disclaimer{color:var(--lm-muted);font-size:var(--lm-font-caption);margin:28px 0 0;border-left:2px solid var(--lm-sell);padding-left:12px}
.panel{background:var(--lm-surface);border:1px solid var(--lm-stroke);border-radius:var(--lm-radius-card);padding:var(--lm-space-card)}
.empty{text-align:center;padding:48px 22px;border:1px dashed var(--lm-stroke);border-radius:var(--lm-radius-card);background:var(--lm-surface)}
.empty-mark{font-size:32px;color:var(--lm-muted);margin-bottom:12px}.empty h2{font-size:20px;font-weight:600;margin:0 0 10px}.empty p{margin-bottom:0}
.notice{padding:14px 16px;border:1px solid var(--lm-accent);background:var(--lm-accent-surface);color:var(--lm-ink);border-radius:var(--lm-radius-button);font-size:var(--lm-font-body);margin-bottom:24px}
.notice.error{background:var(--lm-surface);border-color:var(--lm-negative);color:var(--lm-negative)}
.back{font-size:var(--lm-font-caption);display:inline-flex;align-items:center;min-height:44px;margin-bottom:12px}
.inline-filters{display:flex;gap:15px;align-items:flex-end;flex-wrap:wrap;padding:18px 0;margin-bottom:24px;border-top:1px solid var(--lm-stroke);border-bottom:1px solid var(--lm-stroke)}
.inline-filters label{min-width:95px}.inline-filters input[type=number]{width:110px}.inline-filters .check{min-width:170px}
.detail-grid{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(240px,1fr);gap:20px}.chart-panel{min-width:0}.chart-panel .section-heading{margin-top:0}
.chart-legend{display:flex;align-items:center;gap:20px;font-size:var(--lm-font-caption);margin:22px 0 12px;flex-wrap:wrap}.chart-legend .fine{margin-left:auto}
.chart{height:290px;position:relative}canvas{width:100%;height:100%;display:block}.chart-panel>.fine{margin-top:14px}
summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-size:var(--lm-font-caption);font-weight:600;color:var(--lm-muted);padding:8px 0}
summary::before{content:'›';display:inline-block;margin-right:8px;color:var(--lm-accent);font-size:18px}details[open]>summary::before{transform:rotate(90deg)}details p{font-size:var(--lm-font-body)}
.demand-panel h2{font-size:var(--lm-font-title);font-weight:600}.demand-panel span{font-size:var(--lm-font-body)}
.demand-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--lm-stroke)}
.demand-row strong{font-size:24px;font-family:var(--lm-font-number-family);font-weight:500}.demand-panel>.fine{margin-top:16px}.demand-panel .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:var(--lm-font-caption)}
.components{padding-left:18px;font-size:var(--lm-font-caption);color:var(--lm-muted)}hr{border:0;border-top:1px solid var(--lm-stroke);margin:24px 0}
.listing-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.listing{display:grid;grid-template-columns:1fr auto;gap:10px;background:var(--lm-surface);border:1px solid var(--lm-stroke);border-radius:var(--lm-radius-card);padding:var(--lm-space-card)}
.listing>div:first-child{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0;overflow-wrap:anywhere}.listing>div:first-child>small{color:var(--lm-muted);font-size:var(--lm-font-label);width:100%}.listing details{grid-column:span 2;min-width:0}
.badge{display:inline-block;border:1px solid var(--lm-stroke);border-radius:4px;padding:3px 8px;background:var(--lm-raised);font-size:var(--lm-font-label);letter-spacing:.3px;color:var(--lm-muted)}.badge.buy{color:var(--lm-buy)}.badge.sell{color:var(--lm-sell)}
.listing-price{text-align:right;font-family:var(--lm-font-number-family);font-weight:500;font-size:16px;white-space:nowrap}.listing-price small{display:block;color:var(--lm-muted);font-family:var(--lm-font-family);font-size:var(--lm-font-label);font-weight:400}
.raw{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--lm-canvas);padding:14px;border:1px solid var(--lm-stroke);border-radius:var(--lm-radius-input);color:var(--lm-muted)}
.editor{margin-bottom:28px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-grid .wide{grid-column:span 2}
.form-actions{display:flex;align-items:center;gap:24px;margin-top:22px}.form-actions a{font-size:var(--lm-font-body);padding:10px 0}
#catalog-filter{margin-bottom:0}#catalog-picker{max-width:100%}
.inventory-list{display:grid;gap:16px}.inventory-item{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,1.6fr);gap:18px 30px}
.inventory-title .muted{font-size:var(--lm-font-caption);margin:0}.inventory-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.inventory-numbers small{display:block;color:var(--lm-muted);font-size:11px;margin-bottom:8px}
.inventory-numbers strong{font-weight:500;font-family:var(--lm-font-number-family);font-size:22px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.inventory-item>.fine,.inventory-item>.notes{grid-column:span 2;margin:0}.notes{white-space:normal;overflow-wrap:anywhere;font-size:var(--lm-font-body)}
.item-actions{display:flex;gap:20px;align-items:center;grid-column:span 2;border-top:1px solid var(--lm-stroke);padding-top:10px;font-size:var(--lm-font-caption)}.item-actions>a{padding:10px 0}
.settings-panel{max-width:820px;margin-bottom:24px}.settings-panel h2{margin-bottom:24px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;margin:20px 0}
.advanced{border-top:1px solid var(--lm-stroke);border-bottom:1px solid var(--lm-stroke);padding:8px 0;margin-bottom:24px}.advanced .form-grid{margin:18px 0}
.signal-list{display:grid;gap:18px;max-width:1000px}.signal-heading{display:flex;gap:15px;align-items:center;margin-bottom:18px}
.signal-heading small,.read-state{font-size:11px;color:var(--lm-muted)}.read-state{margin-left:auto}.signal h2{font-size:22px;font-weight:600}.signal p{overflow-wrap:anywhere}.signal>form{margin-top:12px}.signal details{margin-top:14px}
.error-page{max-width:640px;margin:100px auto;padding:26px}.error-page .brand{margin-bottom:24px}
footer{display:flex;justify-content:space-between;gap:20px;padding:24px 0;border-top:1px solid var(--lm-stroke);color:var(--lm-muted);font-size:var(--lm-font-label)}footer>span:first-child{letter-spacing:2px;font-weight:600}
@media(min-width:1550px){.shell{padding:0 56px}.content{padding-top:40px}}
@media(max-width:1100px){.shell{padding:0 26px}.overview-strip>div{padding:0 20px}.overview-strip .strip-note{display:none}.filters{grid-template-columns:repeat(4,minmax(0,1fr))}.listing-list{grid-template-columns:1fr}.detail-grid{grid-template-columns:minmax(0,2fr) minmax(220px,1fr)}.topbar{gap:15px}.server{font-size:11px}.account{gap:5px}.inventory-item{grid-template-columns:1fr}.inventory-item>*{grid-column:1!important}}
@media(max-width:760px){h1{font-size:26px}.shell{padding:0 18px}.topbar{flex-wrap:wrap;min-height:95px;padding:18px 0 12px;gap:12px}.account{margin-left:auto}.account>span{max-width:110px}.server{order:3;flex-basis:100%;font-size:11px}.navigation{gap:2px;justify-content:space-between}.navigation a{font-size:var(--lm-font-caption);padding:8px}.content{padding:26px 0 40px}.page-heading{align-items:flex-start;margin-bottom:24px;flex-wrap:wrap}.page-heading .button{font-size:var(--lm-font-caption);padding:10px 12px}.page-heading .muted{font-size:var(--lm-font-caption)}.eyebrow{font-size:9px;letter-spacing:1.6px}.overview-strip{padding:14px 0;margin-bottom:20px}.overview-strip>div{padding:0 12px}.overview-strip .stat-number{font-size:22px}.overview-strip span:not(.stat-number){font-size:10px}.filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:12px;margin-top:18px}.filters .search,.filters .check,.filters .primary,.filters .text-link{grid-column:span 2}.table-wrap th,.table-wrap td{padding:12px 14px}.item-link{min-width:205px;font-size:var(--lm-font-caption)}.item-initial{height:30px;width:30px;font-size:14px}.detail-grid{grid-template-columns:1fr}.chart{height:245px}.chart-legend{gap:12px}.chart-legend .fine{margin-left:0;width:100%}.inline-filters{gap:12px}.inline-filters .check{width:100%}.inline-filters label{flex:1}.inline-filters input[type=number]{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:1}.inventory-numbers{gap:10px}.inventory-numbers strong{font-size:19px}.inventory-numbers small{font-size:10px}.check-grid{grid-template-columns:1fr}.listing{padding:16px}.listing-price{font-size:14px}.listing>div:first-child{gap:8px}.listing strong{font-size:var(--lm-font-caption)}.signal h2{font-size:20px}.signal-heading{gap:10px;flex-wrap:wrap}.signal-heading small{font-size:var(--lm-font-label)}footer{flex-direction:column;gap:7px;font-size:9px}.login{grid-template-columns:1fr}.login-story{padding:25px;min-height:220px;border-right:0;border-bottom:1px solid var(--lm-stroke)}.story-content{padding:28px 0 0;max-width:100%}.story-content h1{font-size:32px;margin:10px 0 0}.story-content>p:not(.eyebrow){display:none}.story-content .eyebrow{font-size:8px;margin-bottom:10px}.story-line,.story-foot{display:none}.login-panel{padding:32px 25px}.login-form{max-width:420px}.login-form h2{font-size:26px}.login-form .eyebrow{margin-bottom:8px}.error-page{margin:40px auto}}
@media(prefers-reduced-motion:no-preference){a,button{transition:background .12s ease-out,border-color .12s ease-out}}

.table-wrap th:not(:first-child),.table-wrap td:not(:first-child){text-align:right}
