:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#172033;background:#f4f6f9}*{box-sizing:border-box}body{margin:0;background:#f4f6f9;color:#172033}button,input,select,textarea{font:inherit}button{cursor:pointer}.boot{padding:3rem;text-align:center}.field-shell{max-width:760px;min-height:100vh;margin:auto;background:#f4f6f9;padding-bottom:82px}.field-topbar{height:64px;background:#101827;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 16px;position:sticky;top:0;z-index:10}.field-topbar>div:first-child{font-size:19px;font-weight:800}.field-topbar span{opacity:.7;margin-left:5px}.top-user{display:grid;text-align:right;font-size:12px}.top-user small{opacity:.7}.connection{padding:7px 15px;font-size:11px;text-align:center;position:sticky;top:64px;z-index:9}.connection.online{background:#e8f7ee;color:#226d40}.connection.offline{background:#fff1df;color:#8a5c15}main{padding:16px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(760px,100%);height:68px;background:white;border-top:1px solid #dde2e9;display:grid;grid-template-columns:repeat(6,1fr);z-index:12;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav a,.bottom-nav button{border:0;background:white;color:#667182;text-decoration:none;display:grid;place-items:center;font-size:12px}.bottom-nav a.active{color:#172033;font-weight:800}.page-head{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:4px 0 16px}.page-head h1{font-size:25px;margin:0}.page-head p{color:#707a88;margin:4px 0 0;font-size:13px}.pending{font-size:11px;padding:6px 9px;border-radius:999px;background:#fff4dc;color:#8d6414}.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.metrics button{background:white;border:1px solid #e0e5eb;border-radius:15px;padding:17px;text-align:left;display:grid;gap:4px}.metrics strong{font-size:27px}.metrics span{font-size:12px;color:#6c7583}.section-title{font-size:16px;margin:22px 2px 10px}.job-card{width:100%;border:1px solid #e0e5eb;background:white;border-radius:14px;padding:14px;margin:0 0 10px;display:flex;justify-content:space-between;gap:10px;text-align:left}.job-card>div{display:grid;gap:4px}.job-card span,.job-card small{color:#6d7684;font-size:12px}.job-card b{font-size:14px}.job-side{text-align:right;justify-items:end}.job-side .status{background:#edf1f5;padding:5px 8px;border-radius:999px;color:#334158}.card{background:white;border:1px solid #e0e5eb;border-radius:15px;padding:16px;margin-bottom:12px}.job-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px}.job-summary div{display:grid;gap:4px}.job-summary span{font-size:11px;color:#717b89}.job-summary b{font-size:14px}.job-summary .full{grid-column:1/-1}.action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:15px 0}.action-grid button{border:0;background:#172033;color:white;border-radius:13px;min-height:55px;font-weight:700}.action-grid button.danger{background:#9c3434}.form{display:grid;gap:10px}.form h3{margin:0 0 4px}.input{width:100%;border:1px solid #d4dbe4;background:white;border-radius:11px;padding:12px;outline:none}.input:focus{border-color:#6d89b9;box-shadow:0 0 0 3px #e6edf8}.primary{border:0;background:#172033;color:white;border-radius:11px;padding:12px;font-weight:700}.wide{width:100%}.back{width:38px;height:38px;border-radius:50%;border:0;background:white}.activity{background:white;border-left:3px solid #172033;padding:12px 14px;margin-bottom:9px;border-radius:8px 13px 13px 8px}.activity>div{display:flex;justify-content:space-between;gap:8px}.activity span,.activity small{font-size:11px;color:#747e8d}.activity p{font-size:13px;margin:7px 0 0;white-space:pre-wrap}.search{margin-bottom:13px}.alert{padding:11px 13px;border-radius:10px;margin:10px 0}.alert.success{background:#e9f7ef;color:#247243}.alert.error{background:#fff0ef;color:#9f312b}.loading,.empty{text-align:center;color:#6d7684}.login-page{min-height:100vh;background:#101827;display:grid;place-items:center;padding:22px}.login-card{width:min(430px,100%);background:white;border-radius:20px;padding:25px}.login-card .brand{font-size:22px;font-weight:800}.login-card .brand span{opacity:.55}.login-card h1{margin:25px 0 4px}.login-card p{color:#707a88}.login-card label{display:block;font-size:12px;font-weight:700;margin:12px 0 5px}.hint{font-size:11px;line-height:1.5;margin-top:18px}.login-card .wide{margin-top:15px}#blazor-error-ui{display:none}@media(min-width:620px){.metrics{grid-template-columns:repeat(4,1fr)}.action-grid{grid-template-columns:repeat(3,1fr)}}

.signature-canvas{width:100%;height:180px;background:#fff;border:2px dashed #aab2c0;border-radius:12px;touch-action:none}.visit-card{width:100%;text-align:left;margin-bottom:10px}.visit-card>div{display:flex;justify-content:space-between;gap:12px}.visit-card span{font-size:12px;font-weight:700}

.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.quick-links button{min-height:48px;border:1px solid #dbe1e8;border-radius:12px;background:#fff;font-weight:700}
.invoice-line{border:1px solid #e2e7ed;padding:12px;border-radius:12px;display:grid;gap:8px}.line-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check{display:flex;align-items:center;gap:7px;font-size:12px}.danger-link{border:0;background:transparent;color:#a33333;text-align:left}.invoice-total,.bill-total{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid #edf0f3}.invoice-total strong{font-size:22px}.invoice-title,.bill-line,.settlement>div{display:flex;justify-content:space-between;gap:12px}.bill-line{padding:10px 0;border-bottom:1px solid #edf0f3}.bill-line>div{display:grid;gap:3px}.bill-line small{color:#6d7684}.bill-total.due{font-size:18px}.cash-hero{background:#172033;color:white;border-radius:18px;padding:22px;margin-bottom:12px;display:grid;gap:5px}.cash-hero strong{font-size:34px}.cash-hero span,.cash-hero small{opacity:.75}.settlement span{font-size:12px;font-weight:700}.settlement p{margin:8px 0}
@media print{.field-topbar,.connection,.bottom-nav,.page-head,.action-grid,.alert,.form{display:none!important}.field-shell{max-width:none;padding:0;background:#fff}main{padding:0}body{background:#fff}#invoice-print-area .card{border:0}}

.print-only{display:none}@media print{.print-only{display:block!important}.no-print{display:none!important}}

.used-part-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #edf0f3;padding:12px 0}.used-part-row>div{display:grid;gap:3px}.used-part-row small,.muted-small,.locked-line{font-size:11px;color:#6d7684}.locked-line{background:#eef3f8;padding:6px 8px;border-radius:7px}

.field-notification{width:100%;text-align:left}.field-notification.unread{border-left:4px solid #315cab;background:#f8fbff}.field-notification>div{display:flex;justify-content:space-between;gap:10px}.field-notification span{font-size:11px;color:#758090}.field-notification p{margin:8px 0 0}

.catalog-search{display:grid;grid-template-columns:1fr auto;gap:8px}.catalog-results{display:grid;gap:7px;max-height:360px;overflow:auto}.catalog-row,.selected-part{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #e1e6ec;border-radius:10px;padding:10px;background:#fff;text-align:left}.catalog-row>div,.selected-part>div{display:grid;gap:2px}.catalog-row small,.selected-part small{font-size:11px;color:#6f7885}.stock-ok{font-size:11px;font-weight:700;color:#28643d}.stock-zero{font-size:11px;font-weight:700;color:#9b3f3f}

.field-top-actions,.topbar-actions{display:flex;align-items:center;gap:10px}.notification-bell{border:1px solid #d8dee7;background:#fff;border-radius:10px;padding:7px 10px;font-size:12px}.notification-bell.has-unread{font-weight:800;border-color:#315cab;background:#f4f8ff}
