/* LevelHub Core v0.1.1 — functional UI, not final brand design */
.lh-app,.lh-auth,.lh-shell{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#171717}
.lh-app{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:240px minmax(0,1fr);min-height:80vh;background:#f6f6f4}
.lh-nav{background:#111;color:#fff;padding:28px 20px;display:flex;flex-direction:column;gap:24px}
.lh-brand{font-size:20px;font-weight:800;letter-spacing:-.03em}
.lh-navlinks{display:grid;gap:4px}
.lh-navlinks a,.lh-logout{color:#bbb;text-decoration:none;padding:10px 12px;border-radius:10px;font-size:14px}
.lh-navlinks a:hover,.lh-navlinks a.is-active,.lh-logout:hover{background:#222;color:#fff}
.lh-logout{margin-top:auto}
.lh-main{padding:44px;min-width:0}
.lh-pagehead{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px}
.lh-pagehead h1,.lh-authbox h1{margin:2px 0 6px;font-size:34px;letter-spacing:-.04em}
.lh-pagehead p,.lh-authbox p{margin:0;color:#6d6d6d}
.lh-eyebrow{font-size:11px!important;font-weight:800!important;letter-spacing:.16em!important;color:#8a8a8a!important}
.lh-grid{display:grid;gap:16px;margin-bottom:16px}
.lh-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lh-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lh-card,.lh-stat{background:#fff;border:1px solid #e6e6e1;border-radius:16px;padding:22px;box-shadow:0 1px 2px rgba(0,0,0,.02)}
.lh-card{margin-bottom:16px}
.lh-card h2{font-size:18px;margin:0 0 18px;letter-spacing:-.02em}
.lh-stat{display:flex;flex-direction:column;gap:5px}
.lh-stat span{font-size:12px;color:#777}
.lh-stat strong{font-size:26px;letter-spacing:-.04em}
.lh-stat small,.lh-row small{color:#8a8a8a;font-size:12px}
.lh-sectionhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.lh-sectionhead h2{margin:0}
.lh-sectionhead span{font-size:12px;color:#999}
.lh-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lh-action{display:flex;flex-direction:column;gap:3px;border:1px solid #ecece8;padding:16px;border-radius:12px;text-decoration:none;color:#202020}
.lh-action:hover{border-color:#c8c8c2;background:#fafaf8}
.lh-action span{font-size:13px;color:#777}
.lh-form{display:grid;gap:14px}
.lh-formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.lh-form label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#555}
.lh-form input,.lh-form textarea,.lh-form select{width:100%;box-sizing:border-box;border:1px solid #d9d9d4;border-radius:10px;background:#fff;padding:11px 12px;font:inherit;color:#191919;outline:none}
.lh-form input:focus,.lh-form textarea:focus,.lh-form select:focus{border-color:#777;box-shadow:0 0 0 3px rgba(0,0,0,.05)}
.lh-btn{appearance:none;border:0;border-radius:10px;background:#151515;color:#fff;text-decoration:none;padding:11px 16px;font-weight:750;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:max-content}
.lh-btn:hover{background:#303030;color:#fff}
.lh-btn-small{padding:8px 12px;font-size:12px}
.lh-btn-ghost{background:#f0f0ec;color:#333}
.lh-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px 0;border-top:1px solid #efefeb}
.lh-row:first-of-type{border-top:0}
.lh-row>div{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}
.lh-row strong{font-size:14px}
.lh-row.is-done strong{text-decoration:line-through;color:#999}
.lh-check{font-size:18px;width:20px}
.lh-pill{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;background:#f0f0ec;border-radius:999px;padding:5px 7px;color:#686868}
.lh-positive{color:#167a45}.lh-negative{color:#b02d2d}
.lh-muted{color:#888}
.lh-notice{padding:12px 14px;border-radius:10px;margin-bottom:16px;font-size:13px}
.lh-success{background:#e9f6ed;color:#176737}.lh-error{background:#fff0ef;color:#9f2f27}
.lh-auth{min-height:72vh;display:grid;place-items:center;padding:28px;background:#f6f6f4}
.lh-authbox{width:min(440px,100%);background:#fff;border:1px solid #e5e5df;border-radius:18px;padding:30px;box-shadow:0 18px 50px rgba(0,0,0,.06)}
.lh-authbox form{display:grid;gap:14px;margin-top:22px}
.lh-authbox label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#555}
.lh-authbox input{border:1px solid #d9d9d4;border-radius:10px;padding:12px;font:inherit}
.lh-authbox .lh-btn{width:100%;margin-top:4px}
.lh-authlink{text-align:center!important;font-size:13px;margin-top:18px!important}
.lh-empty{text-align:center;max-width:520px;margin:50px auto}
@media(max-width:1000px){.lh-grid-4{grid-template-columns:repeat(2,1fr)}.lh-app{grid-template-columns:190px minmax(0,1fr)}.lh-main{padding:28px}}
@media(max-width:760px){.lh-app{display:block}.lh-nav{padding:14px;position:sticky;top:0;z-index:20;gap:10px}.lh-navlinks{display:flex;overflow:auto}.lh-navlinks a{white-space:nowrap}.lh-logout{display:none}.lh-main{padding:20px 14px}.lh-grid-4,.lh-grid-2,.lh-formgrid,.lh-actions{grid-template-columns:1fr}.lh-pagehead h1{font-size:28px}.lh-row{align-items:flex-start}}

/* v0.2.x feature extensions — typography intentionally inherits v0.1.1 */
.lh-navlabel{font-size:9px;letter-spacing:.16em;color:#666;font-weight:800;margin:18px 10px 6px}
.lh-soon span{font-size:9px;background:#292929;padding:2px 5px;border-radius:5px;color:#777}
.lh-details{border-top:1px solid #ecece8}
.lh-details>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 0}
.lh-details>summary::-webkit-details-marker{display:none}
.lh-details>summary>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.lh-detailbody{background:#fafaf8;border-radius:12px;padding:16px;margin:0 0 13px}
.lh-inline-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.lh-weekdays,.lh-categories{display:flex;gap:7px;flex-wrap:wrap}
.lh-weekdays label,.lh-categories label{display:flex;align-items:center;gap:5px;background:#f2f2ee;border-radius:8px;padding:7px 9px;font-size:11px}
.lh-weekdays input,.lh-categories input{width:auto}
.lh-fieldlabel{font-size:12px;font-weight:700;color:#555;display:block;margin-bottom:7px}
.lh-tablewrap{overflow:auto}
.lh-table{width:100%;border-collapse:collapse;min-width:1050px}
.lh-table th,.lh-table td{padding:8px;border-bottom:1px solid #eee;text-align:left;font-size:11px}
.lh-table input,.lh-table select{min-width:115px;padding:7px;border:1px solid #d9d9d4;border-radius:9px;background:#fff}
.lh-addbox{border:1px dashed #d5d5cf;border-radius:10px;margin-bottom:13px}
.lh-addbox>summary{cursor:pointer;padding:12px;font-weight:750}
.lh-addbox>form{padding:0 12px 14px}
.lh-filter{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto auto;gap:8px;margin-bottom:14px}
.lh-filter input,.lh-filter select{width:100%;box-sizing:border-box;border:1px solid #d9d9d4;border-radius:9px;background:#fff;padding:10px 11px;font:inherit;color:#191919}
.lh-tip{position:relative;display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#ecece8;font-size:10px;cursor:help}
.lh-tip:after{content:attr(data-tip);position:absolute;z-index:50;left:50%;bottom:125%;transform:translateX(-50%);width:240px;padding:9px 10px;border-radius:8px;background:#111;color:#fff;font-size:11px;font-weight:500;line-height:1.4;opacity:0;pointer-events:none;transition:.15s}
.lh-tip:hover:after,.lh-tip:focus:after{opacity:1}
.lh-stars{letter-spacing:.05em;font-size:13px}
.lh-progressbar{height:8px;background:#ecece8;border-radius:999px;overflow:hidden}
.lh-progressbar span{display:block;height:100%;background:#202020}
.lh-coming{text-align:center;padding:55px 25px}
.lh-coming-badge{display:inline-block;font-size:10px;letter-spacing:.14em;font-weight:800;background:#111;color:#fff;padding:6px 9px;border-radius:999px}
.lh-coming h2{font-size:30px;margin:18px 0 8px}
.lh-coming p{max-width:650px;margin:0 auto 22px;color:#777;line-height:1.6}
.lh-warning{background:#fffaf0;border-color:#f0dfb7}
.lh-warning p{margin-bottom:0;color:#725d2c}
.lh-danger{background:#ffe8e7;color:#a33029}
.lh-warn{background:#fff3d7;color:#8a6511}
@media(max-width:1000px){.lh-filter{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.lh-filter{grid-template-columns:1fr}.lh-tip:after{left:auto;right:0;transform:none}.lh-navlabel{display:none}.lh-soon span{display:none}}

/* v0.2.2 Finance ledger + monthly bill UI */
.lh-debt-table{min-width:1180px}
.lh-mini-details{position:relative}
.lh-mini-details>summary{cursor:pointer;font-weight:700}
.lh-popover{min-width:320px;display:grid;gap:12px;padding:12px 0}
.lh-paid-check label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;cursor:pointer}
.lh-paid-check input{width:auto}
.lh-payment-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:8px 0;border-top:1px solid #ecece8;font-size:12px}
.lh-payment-row:first-child{border-top:0}
.lh-payment-row small{color:#888}
.lh-sectionhead a{font-size:12px;color:#555;text-decoration:none}
.lh-sectionhead a:hover{text-decoration:underline}
