/* New operational surfaces: scoped extension of Mobileland Design System 4.0.0. */
.tp-app.mlu-public{--tp-bg:#f7f7f9;max-width:1440px;margin:28px auto;padding:0;color:var(--mlu-ink);font-family:inherit;font-size:14px;line-height:1.95;text-align:right;box-sizing:border-box}
.tp-app *{box-sizing:border-box}.tp-app [hidden]{display:none!important}.tp-app :is(input,button,select,textarea){font-family:inherit}.tp-app a{color:inherit}.tp-app h1,.tp-app h2,.tp-app h3,.tp-app p{margin:0}.tp-app h1{font-size:clamp(23px,2.15vw,30px);font-weight:800;line-height:1.6}.tp-app h2{font-size:20px;font-weight:800}.tp-app h3{font-size:16px;font-weight:750}.tp-app .tp-muted{color:var(--mlu-muted);font-size:12px}.tp-app .tp-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;background:var(--tp-bg);padding:24px;border:1px solid var(--mlu-line);border-radius:24px;min-height:600px}.tp-app .tp-sidebar{align-self:start;position:sticky;top:30px;background:#fff;border:1px solid var(--mlu-line);border-radius:23px;padding:22px 14px;box-shadow:var(--mlu-shadow)}.tp-app .tp-brand{padding:0 10px 22px;display:flex;align-items:center;gap:12px}.tp-app .tp-brand strong{font-size:20px;display:block}.tp-app .tp-icon-tile{background:var(--mlu-rose);color:var(--mlu-accent);width:46px;height:46px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tp-app svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.tp-app .tp-nav{display:grid;gap:7px}.tp-app .tp-nav button{display:flex;align-items:center;justify-content:flex-start;gap:11px;width:100%;background:transparent;color:var(--mlu-muted);border:0;border-radius:13px;padding:13px;font-size:14px;cursor:pointer;text-align:right;min-height:48px}.tp-app .tp-nav button:hover{background:#f7f7f9}.tp-app .tp-nav button[aria-current=page]{background:var(--mlu-rose);color:#a90019;font-weight:750}.tp-app .tp-sidebar-foot{margin-top:60px;padding:14px 10px 0;border-top:1px solid var(--mlu-line);font-size:12px;color:var(--mlu-muted)}.tp-app .tp-main{min-width:0}.tp-app .tp-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:8px 0 24px}.tp-app .tp-kicker{color:#a90019;display:block;font-size:12px;font-weight:700;margin-bottom:5px}.tp-app .tp-flex{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tp-app .tp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.tp-app .tp-stat{background:#fff;padding:17px 20px;border:1px solid var(--mlu-line);border-radius:21px;box-shadow:var(--mlu-shadow)}.tp-app .tp-stat strong{font-size:28px;font-weight:800;display:block}.tp-app .tp-stat small{color:var(--mlu-muted)}.tp-app .tp-stat:first-child{background:linear-gradient(120deg,#fff8f8,#f8f5f7)}.tp-app .tp-panel{background:#fff;border:1px solid var(--mlu-line);border-radius:21px;padding:24px;box-shadow:var(--mlu-shadow);margin-bottom:18px;min-width:0}.tp-app .tp-panel-title{display:flex;align-items:center;gap:12px;margin-bottom:20px}.tp-app .tp-number{width:34px;height:34px;border-radius:12px;background:var(--mlu-rose);color:var(--mlu-accent);display:inline-flex;align-items:center;justify-content:center;font-weight:800}.tp-app .tp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tp-app .tp-grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.tp-app .tp-full{grid-column:1/-1}.tp-app label.tp-field{display:flex;flex-direction:column;gap:7px;font-weight:650;font-size:13px;min-width:0}.tp-app .tp-field small{font-size:11px;font-weight:400;color:var(--mlu-muted)}.tp-app .tp-field :is(input,select,textarea){width:100%;min-width:0;max-width:100%;font-weight:400}.tp-app .tp-field :is(input,select){height:50px}.tp-app .tp-field textarea{min-height:100px;resize:vertical}.tp-app .tp-field input[readonly]{background:#f7f7f9;color:var(--mlu-muted)}.tp-app .tp-required{color:var(--mlu-accent)}.tp-app .tp-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tp-app .tp-choice{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;border:1px solid var(--mlu-line);border-radius:13px;background:#fff;cursor:pointer;padding:10px 12px;font-weight:650}.tp-app .tp-choice:has(input:checked){border-color:var(--mlu-accent);background:var(--mlu-rose);color:#a90019;box-shadow:inset 0 0 0 1px var(--mlu-accent)}.tp-app.tp-app input[type=radio],.tp-app.tp-app input[type=checkbox]{width:18px;height:18px;min-height:18px;padding:0;accent-color:var(--mlu-accent);flex:none;box-shadow:none}.tp-app .tp-checks{display:flex;flex-wrap:wrap;gap:8px}.tp-app .tp-check{display:inline-flex;align-items:center;gap:8px;min-height:42px;border:1px solid var(--mlu-line);border-radius:12px;padding:7px 12px;font-size:12px;cursor:pointer;font-weight:400}.tp-app .tp-check:has(input:checked){border-color:#ebc7cd;background:var(--mlu-rose);color:#a90019}.tp-app .tp-separator{height:1px;background:var(--mlu-line);margin:20px 0}.tp-app .tp-form-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 24px;background:#fff;border:1px solid var(--mlu-line);border-radius:21px;position:sticky;bottom:12px;z-index:3;box-shadow:var(--mlu-shadow)}.tp-app .tp-filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.tp-app .tp-filter-extra{display:flex;align-items:end;gap:12px;margin-top:14px;flex-wrap:wrap}.tp-app .tp-filter-extra .tp-field{flex:1;min-width:130px}.tp-app .tp-repair-row{display:grid;grid-template-columns:1.2fr 1fr .9fr auto;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--mlu-line)}.tp-app .tp-repair-row:last-child{border-bottom:0}.tp-app .tp-repair-title{display:flex;align-items:center;gap:12px;min-width:0}.tp-app .tp-repair-title strong{font-size:16px;display:block;overflow-wrap:anywhere}.tp-app .tp-code{font-size:12px;color:#a90019;font-weight:750;letter-spacing:1px;direction:ltr;display:inline-block}.tp-app .tp-badge{font-size:11px;font-weight:650;border:1px solid var(--mlu-line);border-radius:9px;background:#f7f7f9;padding:5px 9px;display:inline-flex;white-space:normal}.tp-app .tp-badge[data-status=ready],.tp-app .tp-badge[data-status=received]{background:var(--mlu-rose);color:#a90019;border-color:#ebc7cd}.tp-app .tp-badge[data-status=awaiting_parts],.tp-app .tp-badge[data-status=awaiting_approval]{background:var(--mlu-warning-bg);color:var(--mlu-warning-ink)}.tp-app .tp-empty{padding:45px 16px;text-align:center;color:var(--mlu-muted)}.tp-app .tp-empty svg{width:42px;height:42px;margin-bottom:12px;color:#a90019}.tp-app .tp-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}.tp-app .tp-notice{border-radius:12px;padding:12px 16px;background:var(--mlu-warning-bg);color:var(--mlu-warning-ink);font-size:13px;margin:14px 0;overflow-wrap:anywhere}.tp-app .tp-error{background:var(--mlu-error-bg);color:var(--mlu-error-ink)}.tp-app .tp-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:18px}.tp-app .tp-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.tp-app .tp-meta dt{font-size:11px;color:var(--mlu-muted)}.tp-app .tp-meta dd{margin:3px 0 0;font-weight:650;overflow-wrap:anywhere}.tp-app .tp-price{border:1px solid #f0dce0;border-radius:15px;background:#fff6f7;color:#b30016;text-align:center;padding:14px;margin:20px 0;font-size:26px;font-weight:800}.tp-app .tp-price small{font-size:12px;font-weight:400;display:block;color:var(--mlu-muted)}.tp-app .tp-timeline{list-style:none;margin:0;padding:0}.tp-app .tp-timeline li{border-right:2px solid var(--mlu-line);padding:0 18px 22px 0;margin-right:6px;position:relative}.tp-app .tp-timeline li:before{content:"";position:absolute;right:-6px;top:5px;width:10px;height:10px;background:#fff;border:2px solid #cc0000;border-radius:50%}.tp-app .tp-timeline li:last-child{border-color:transparent;padding-bottom:0}.tp-app .tp-timeline time{display:block;color:var(--mlu-muted);font-size:11px}.tp-app .tp-chat{display:flex;flex-direction:column;gap:12px;max-height:460px;overflow:auto;padding:4px 2px 15px}.tp-app .tp-message{max-width:88%;padding:12px 16px;border-radius:15px;background:#f7f7f9;align-self:flex-end;overflow-wrap:anywhere;white-space:pre-wrap}.tp-app .tp-message.tp-staff{background:var(--mlu-rose);align-self:flex-start}.tp-app .tp-message.tp-internal{background:var(--mlu-warning-bg);border:1px dashed #e8d5b4}.tp-app .tp-message small{font-size:10px;color:var(--mlu-muted);display:block;margin-bottom:4px}.tp-app .tp-message-form{padding-top:14px;border-top:1px solid var(--mlu-line)}.tp-app .tp-message-form textarea{width:100%;min-height:88px}.tp-app .tp-auth{max-width:510px;margin:40px auto;background:#fff;border:1px solid var(--mlu-line);border-radius:24px;box-shadow:var(--mlu-shadow);padding:32px}.tp-app .tp-auth-head{margin-bottom:26px}.tp-app .tp-auth form{display:grid;gap:18px}.tp-app .tp-auth .tp-icon-tile{margin-bottom:16px}.tp-app .tp-auth p{color:var(--mlu-muted);margin-top:9px}.tp-app .tp-loading{text-align:center;padding:60px;color:var(--mlu-muted)}.tp-app .tp-settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.tp-app .tp-settings-tabs button[aria-selected=true]{background:var(--mlu-rose);color:#a90019;border-color:#ebc7cd}.tp-app .tp-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tp-app .tp-pattern{position:relative;display:grid;grid-template-columns:repeat(3,1fr);width:228px;height:228px;touch-action:none;border-radius:21px;border:1px solid var(--mlu-line);background:#f7f7f9;direction:ltr;margin:10px 0}.tp-app .tp-pattern button{position:relative;z-index:1;width:38px;height:38px;min-height:38px;padding:0;border:1px solid #d4cdd2;border-radius:50%;background:white;color:var(--mlu-muted);justify-self:center;align-self:center;cursor:pointer;font-size:12px}.tp-app .tp-pattern button[aria-pressed=true]{background:#cc0000;color:white;border-color:#cc0000}.tp-app .tp-pattern svg{position:absolute;inset:0;width:100%;height:100%;stroke:#cc0000;stroke-width:3;z-index:0;pointer-events:none}.tp-app .tp-pattern-help{font-size:11px;color:var(--mlu-muted)}.tp-app .tp-jalali{display:flex;gap:6px;direction:rtl}.tp-app .tp-jalali select{width:auto;flex:1;min-width:0;padding:8px!important}.tp-app .tp-secret{border:1px dashed #e0c3ca;background:#fff8f8;border-radius:15px;padding:16px;margin-top:14px;overflow-wrap:anywhere;white-space:pre-wrap;user-select:all}.tp-app .tp-status-change{display:grid;gap:12px}.tp-app .tp-audit-data{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;direction:ltr;text-align:left}.tp-app .tp-footer{text-align:center;font-size:11px;color:var(--mlu-muted);padding:20px}.tp-app .tp-mobile-only{display:none}.tp-app .tp-toolbar-link{background:none;border:0;padding:8px;color:#a90019;text-decoration:underline;cursor:pointer}.tp-app .tp-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:1050px){.tp-app .tp-layout{grid-template-columns:180px minmax(0,1fr);gap:16px;padding:18px}.tp-app .tp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-app .tp-detail-grid{grid-template-columns:1fr}.tp-app .tp-repair-row{grid-template-columns:1.4fr 1fr auto}.tp-app .tp-row-date{display:none}.tp-app .tp-settings-grid{grid-template-columns:1fr}}
@media(max-width:760px){.tp-app.mlu-public{margin:16px auto}.tp-app .tp-layout{display:block;padding:14px;border-radius:21px}.tp-app .tp-sidebar{position:static;padding:12px;margin-bottom:18px}.tp-app .tp-brand{padding:0 4px 10px}.tp-app .tp-brand strong{font-size:18px}.tp-app .tp-nav{display:flex;gap:4px;flex-wrap:wrap}.tp-app .tp-nav button{width:auto;padding:9px;font-size:12px;min-height:44px;flex:1;justify-content:center}.tp-app .tp-nav svg{width:18px}.tp-app .tp-sidebar-foot{display:none}.tp-app .tp-panel{padding:18px 14px}.tp-app .tp-top{align-items:flex-start;gap:12px;margin-bottom:18px}.tp-app .tp-top>.mld-button{font-size:12px;padding:8px 12px}.tp-app .tp-stats{gap:9px}.tp-app .tp-stat{padding:13px 16px}.tp-app .tp-grid3{grid-template-columns:1fr 1fr}.tp-app .tp-filter-grid{grid-template-columns:1fr 1fr}.tp-app .tp-filter-grid>.tp-field:first-child{grid-column:1/-1}.tp-app .tp-choice-grid{grid-template-columns:1fr 1fr}.tp-app .tp-repair-row{grid-template-columns:1fr auto;gap:10px;padding:16px 0}.tp-app .tp-repair-row .tp-row-customer{grid-column:1;grid-row:2}.tp-app .tp-repair-row>.mld-button{grid-column:2;grid-row:2}.tp-app .tp-form-bottom{padding:13px;bottom:8px;flex-wrap:wrap}.tp-app .tp-form-bottom button{flex:1}.tp-app .tp-auth{padding:24px 18px;margin:18px auto}.tp-app .tp-meta{gap:12px}.tp-app .tp-top h1{font-size:23px}.tp-app .tp-row2{grid-template-columns:1fr}}
@media(max-width:420px){.tp-app .tp-grid{grid-template-columns:1fr}.tp-app .tp-layout{padding:10px}.tp-app .tp-filter-grid{grid-template-columns:1fr}.tp-app .tp-filter-extra{display:grid;grid-template-columns:1fr;width:100%}.tp-app .tp-top{flex-wrap:wrap}.tp-app .tp-nav button{flex-basis:40%}.tp-app .tp-meta{grid-template-columns:1fr}.tp-app .tp-message{max-width:94%}.tp-app .tp-choice{font-size:12px;padding:8px}.tp-app .tp-stat strong{font-size:24px}}
@media(prefers-reduced-motion:reduce){.tp-app *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.tp-app .tp-sidebar,.tp-app .tp-top .mld-button,.tp-app button,.tp-app .tp-message-form,.tp-app .tp-secret{display:none!important}.tp-app .tp-layout{display:block;background:#fff;border:0;padding:0}.tp-app .tp-panel{box-shadow:none;break-inside:avoid}.tp-app .tp-detail-grid{display:block}}
.tp-app{container-type:inline-size}.tp-app .tp-field :is(input,select,textarea){border:1px solid var(--mlu-line);border-radius:12px;background:#fff;padding:12px;color:var(--mlu-ink);font-size:14px}.tp-app :is(input,select,textarea,button,a):focus-visible{outline:3px solid #cc00004d;outline-offset:3px}.tp-app .tp-form-result{color:var(--mlu-muted);font-size:13px}.tp-app .tp-form-result.tp-error{color:#a80000;border-inline-start:3px solid #cc0000;padding:10px;background:#fff1f1}.tp-app .tp-jalali>.tp-field{flex:1;min-width:0}.tp-app .tp-jalali select{width:100%}
@container(max-width:950px){.tp-app .tp-layout{display:block;padding:16px}.tp-app .tp-sidebar{position:static;margin-bottom:18px;padding:12px}.tp-app .tp-brand{padding:0 6px 10px}.tp-app .tp-nav{display:flex;flex-wrap:wrap}.tp-app .tp-nav button{width:auto;flex:1;justify-content:center;font-size:12px;padding:10px}.tp-app .tp-sidebar-foot{display:none}.tp-app .tp-detail-grid,.tp-app .tp-settings-grid{grid-template-columns:1fr}.tp-app .tp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-app .tp-repair-row{grid-template-columns:1fr auto}.tp-app .tp-row-date{display:none}.tp-app .tp-row-customer{grid-row:2;grid-column:1/-1}}
@container(max-width:480px){.tp-app .tp-grid,.tp-app .tp-filter-grid,.tp-app .tp-meta{grid-template-columns:1fr}.tp-app .tp-nav button{flex-basis:40%}.tp-app .tp-layout{padding:10px}.tp-app .tp-choice-grid{grid-template-columns:1fr 1fr}.tp-app .tp-top{flex-wrap:wrap}.tp-app .tp-repair-row{grid-template-columns:1fr}.tp-app .tp-repair-row>.tp-flex{grid-row:3}.tp-app .tp-panel{padding:18px 12px}.tp-app .tp-filter-extra{display:grid;grid-template-columns:1fr}.tp-app .tp-form-bottom{position:static;flex-wrap:wrap}}

/* v0.6: standalone panel with compact horizontal navigation. */
.tp-app .tp-layout{display:block}.tp-app .tp-workbar{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border:1px solid #e8e5e8;border-radius:24px;padding:16px 24px;margin-bottom:22px}.tp-app .tp-workbar .tp-brand{padding:0;margin:0}.tp-app .tp-workbar .tp-nav{display:flex;gap:8px;flex-wrap:wrap;flex:1;justify-content:center}.tp-app .tp-workbar .tp-nav button{width:auto;min-height:46px;white-space:nowrap}.tp-app .tp-workbar-user{font-size:10px;color:#636772;line-height:1.7}.tp-app .tp-main{min-width:0}.tp-app .tp-workbar .tp-brand strong{font-size:15px}.tp-app .tp-workbar .tp-brand span{font-size:11px}
@media(max-width:800px){.tp-app .tp-workbar{flex-wrap:wrap;gap:12px;padding:16px}.tp-app .tp-workbar .tp-nav{order:3;flex-basis:100%;justify-content:flex-start;gap:4px}.tp-app .tp-workbar .tp-nav button{font-size:11px;padding:8px 10px}.tp-app .tp-workbar .tp-nav svg{width:16px;height:16px}.tp-app .tp-workbar-user{margin-inline-start:auto}.tp-app .tp-main{padding:10px 0}}
