.m-app{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font-body);flex-direction:column;display:flex}.m-top{z-index:5;background:var(--surface);border-bottom:1px solid var(--line);font-family:var(--font-display);align-items:center;gap:8px;padding:12px 16px;display:flex;position:sticky;top:0}.m-main{flex:1;padding:14px 14px 90px}.m-tabs{background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.m-tabs button{min-height:52px;font:600 var(--fs-14) var(--font-body);color:var(--muted);background:0 0;border:0}.m-tabs button[aria-current=page]{color:var(--accent-text);box-shadow:inset 0 2px 0 var(--accent)}.m-stack{flex-direction:column;gap:10px;display:flex}.m-row{align-items:center;gap:8px;display:flex}.m-gap{gap:8px}.m-grow,.grow{flex:auto;min-width:0}.m-left{text-align:left}.m-h{font:600 var(--fs-20) var(--font-display);margin:4px 0}.m-small{font-size:var(--fs-13);color:var(--muted)}.m-muted{color:var(--muted);font-weight:400}.m-bad{color:var(--danger)}.m-note{background:var(--accent-soft);color:var(--ink);border-radius:8px;padding:8px 10px}.m-empty{text-align:center;color:var(--muted);font-size:var(--fs-14);padding:28px 8px}.m-card{background:var(--surface);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:12px;padding:12px}button.m-card{text-align:left;cursor:pointer;width:100%}.m-btn{border:1px solid var(--line-strong);background:var(--surface);min-height:44px;color:var(--ink);font:600 var(--fs-14) var(--font-body);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 14px;text-decoration:none;display:inline-flex}.m-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.m-btn.ghost{background:0 0}.m-btn.sm{min-height:36px;font-size:var(--fs-13);padding:0 10px}.m-btn.xs{min-height:30px;font-size:var(--fs-12);padding:0 8px}.m-btn:disabled{opacity:.5}.m-input{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:44px;color:var(--ink);font:var(--fs-16) var(--font-body);box-sizing:border-box;border-radius:10px;padding:8px 12px}textarea.m-input{line-height:1.5}.m-seg{border:1px solid var(--line-strong);border-radius:10px;display:inline-flex;overflow:hidden}.m-seg.full{display:flex}.m-seg button{background:var(--surface);border:0;border-left:1px solid var(--line);min-height:40px;font:600 var(--fs-13) var(--font-body);color:var(--muted);flex:1;padding:0 10px}.m-seg button:first-child{border-left:0}.m-seg button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-text)}.m-chips{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.m-chip{font-size:var(--fs-12);background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 8px;display:inline-block}.m-chip.on,.m-chip.ok{background:var(--accent-soft);color:var(--accent-text)}.m-chip.overdue,.m-chip.urgent,.m-chip.danger{background:var(--danger);color:var(--accent-ink)}.m-chip.soon,.m-chip.warn{color:var(--warn)}.m-item{align-items:center;gap:12px;display:flex}.m-cover{object-fit:cover;background:var(--surface-2);border-radius:10px;flex:none;width:64px;height:64px}.m-noimg{font-size:var(--fs-11);color:var(--muted);justify-content:center;align-items:center;display:flex}.m-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.m-total{border-top:2px solid var(--line-strong);justify-content:space-between;padding:12px;font-weight:600;display:flex}.m-photos{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.m-ph{position:relative}.m-ph img{aspect-ratio:1;object-fit:cover;border-radius:8px;width:100%;display:block}.m-badge{background:var(--accent);color:var(--accent-ink);font-size:var(--fs-11);border-radius:6px;padding:1px 6px;position:absolute;top:4px;left:4px}.m-phbar{gap:4px;display:flex;position:absolute;bottom:4px;right:4px}.m-phbar button{background:var(--ink);width:32px;height:32px;color:var(--bg);opacity:.8;font-size:var(--fs-13);border:0;border-radius:8px}.m-field{border-top:1px dashed var(--line);padding-top:8px}.m-pre{white-space:pre-wrap;word-break:keep-all;font:var(--fs-14)/1.6 var(--font-body);margin:4px 0 0}.m-job{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:6px;padding:10px;display:flex}.m-steps{flex-wrap:wrap;gap:6px;display:flex}.m-step{font-size:var(--fs-12);color:var(--muted)}.m-step.active{color:var(--accent-text);font-weight:600}.m-step.done{color:var(--ok)}.m-bar{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.m-bar i{background:var(--accent);height:100%;transition:width .3s;display:block}.m-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.m-mod{flex-direction:column;gap:4px;min-height:64px;display:flex}.m-child{margin-left:16px}.m-toast{background:var(--ink);color:var(--bg);font-size:var(--fs-14);z-index:10;border-radius:20px;max-width:90vw;padding:10px 16px;position:fixed;bottom:72px;left:50%;transform:translate(-50%)}
