@charset "UTF-8";:root,html[data-theme=light]{--bg: #f4f7fb;--bg-elevated: #eef3f8;--panel: #ffffff;--panel-2: #f8fbff;--text: #122033;--muted: #66788f;--line: #e6edf5;--primary: #1f8a70;--primary-2: #2ec4a0;--primary-soft: rgba(31, 138, 112, .12);--danger: #c0392b;--input-bg: #ffffff;--shadow: 0 10px 24px rgba(18, 32, 51, .05);--sidebar-bg: #0f1c2e;--sidebar-text: #e8eef7;--sidebar-muted: #9db0c9;--sidebar-label: #7d93ad;--sidebar-link: #c5d4e8;--sidebar-active: #17324f;--topbar-bg: #ffffff;--stat-accent: #1f8a70;--soft-ok-bg: #e8f7f1;--soft-ok-fg: #176b57;--soft-ok-border: #b7e0d4;--soft-warn-bg: #fff8ec;--soft-warn-fg: #c47a12;--soft-warn-border: #f3d7a3;--soft-info-bg: #f4f7ff;--soft-info-fg: #2657c6;--soft-info-border: #c9d7f5;--soft-blue-bg: #e7f0ff;--dashed: #c9d5e3;--drop-empty-bg: rgba(255, 255, 255, .55);--soft-danger-bg: #fff7f7;--soft-purple-bg: #f3e8ff;--soft-purple-fg: #7a3db8}html[data-theme=dark]{--bg: #070b12;--bg-elevated: #0c121a;--panel: #101820;--panel-2: #131c27;--text: #f3f6fb;--muted: #8b9bb4;--line: rgba(255, 255, 255, .08);--primary: #2ec4a0;--primary-2: #2ec4a0;--primary-soft: rgba(46, 196, 160, .14);--danger: #ff7b72;--input-bg: #0c121a;--shadow: 0 16px 40px rgba(0, 0, 0, .35);--sidebar-bg: #05080e;--sidebar-text: #f3f6fb;--sidebar-muted: #8b9bb4;--sidebar-label: #6f8099;--sidebar-link: #c5d0de;--sidebar-active: rgba(46, 196, 160, .16);--topbar-bg: #0c121a;--stat-accent: #2ec4a0;--soft-ok-bg: rgba(46, 196, 160, .14);--soft-ok-fg: #5ee0c0;--soft-ok-border: rgba(46, 196, 160, .35);--soft-warn-bg: rgba(240, 180, 90, .14);--soft-warn-fg: #f0b45a;--soft-warn-border: rgba(240, 180, 90, .4);--soft-info-bg: rgba(90, 140, 240, .14);--soft-info-fg: #8eb4ff;--soft-info-border: rgba(90, 140, 240, .35);--soft-blue-bg: rgba(70, 120, 220, .16);--dashed: rgba(255, 255, 255, .16);--drop-empty-bg: rgba(255, 255, 255, .04);--soft-danger-bg: rgba(255, 123, 114, .12);--soft-purple-bg: rgba(122, 61, 184, .18);--soft-purple-fg: #c9a0ff}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Cairo,Tahoma,sans-serif;transition:background-color .2s ease,color .2s ease}body:has(app-landing),body:has(app-legal-page),body:has(app-contact-page){background:#070b12;font-family:Outfit,Cairo,sans-serif}html[dir=rtl] body:has(app-landing),html[dir=rtl] body:has(app-legal-page),html[dir=rtl] body:has(app-contact-page){font-family:Cairo,Outfit,sans-serif}h1,h2,h3,p{margin-top:0}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--input-bg);color:var(--text)}textarea{min-height:90px;resize:vertical}button,.primary,.ghost,.danger{border:0;border-radius:12px;padding:10px 16px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-elevated);color:var(--text)}.primary{background:var(--primary);color:#fff}html[data-theme=dark] .primary{color:#04110d;font-weight:800}.ghost{background:transparent;border:1px solid var(--line)}.danger{background:var(--soft-danger-bg);color:var(--danger)}html[data-theme=dark] .danger{background:var(--soft-danger-bg)}.page{display:flex;flex-direction:column;gap:20px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.page-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.excel-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:4px;max-width:420px}.excel-import{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.excel-import .file-btn{cursor:pointer;margin:0}.excel-import .file-btn.disabled{opacity:.6;pointer-events:none}.excel-import input[type=file]{display:none}.excel-msg{margin:8px 0 0}.excel-errors{margin:8px 0 0;padding-inline-start:18px;color:var(--danger, #b42318);font-size:13px}.panel .page-head h2{margin:0}.panel .page-head p{margin:6px 0 0}.panel .stats{margin-top:16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:20px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}.stat small{color:var(--muted)}.stat strong{display:block;font-size:28px;margin-top:8px;color:var(--text)}html[data-theme=dark] .stat{background:linear-gradient(180deg,#2ec4a014,#101820f2);border-color:#2ec4a02e}html[data-theme=dark] .stat strong{color:#fff}html[data-theme=dark] .badge{background:#ffffff0f;color:var(--text)}html[data-theme=dark] .badge[data-status=Completed],html[data-theme=dark] .badge[data-status=Available],html[data-theme=dark] .badge[data-status=Paid],html[data-theme=dark] .badge[data-status=Received]{background:#2ec4a029;color:#8ef0d2}html[data-theme=dark] a{color:var(--primary-2)}.langs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2)}.langs button{border:0;background:transparent;color:var(--muted);padding:6px 10px;border-radius:999px;font-weight:700;cursor:pointer}.langs button.active{background:var(--primary);color:#fff}html[data-theme=dark] .langs button.active{color:#04110d}table{width:100%;border-collapse:collapse}th,td{text-align:right;padding:12px 8px;border-bottom:1px solid var(--line)}.muted{color:var(--muted)}.error{color:var(--danger)}.badge{display:inline-flex;padding:4px 10px;border-radius:999px;background:var(--bg-elevated);font-size:12px}.badge[data-status=Emergency],.badge[data-status=Cancelled],.badge[data-status=Rejected],.badge[data-status=Unpaid],.badge[data-status=Void]{background:var(--soft-danger-bg);color:var(--danger)}.badge[data-status=Completed],.badge[data-status=Available],.badge[data-status=Paid]{background:var(--soft-ok-bg);color:var(--primary)}.badge[data-status=OnTheWay],.badge[data-status=InProgress],.badge[data-status=Busy],.badge[data-status=High],.badge[data-status=PartiallyPaid],.badge[data-status=Transferred]{background:var(--soft-warn-bg);color:var(--soft-warn-fg)}.badge[data-status=New]{background:var(--bg-elevated);color:var(--muted)}.badge[data-status=Assigned],.badge[data-status=Accepted],.badge[data-status=Issued]{background:var(--soft-blue-bg);color:var(--soft-info-fg)}.badge[data-status=Arrived]{background:#f3e8ff;color:#7a3db8}.badge[data-status=transferPending],.badge[data-status=Received]{background:var(--soft-ok-bg);color:var(--soft-ok-fg)}.badge[data-status=Held]{background:var(--soft-warn-bg);color:var(--soft-warn-fg)}.badge[data-status=Pending]{background:var(--soft-blue-bg);color:var(--soft-info-fg)}.badge[data-status=Normal]{background:var(--bg-elevated);color:var(--muted)}.badge[data-status=Low]{background:#f3f5f7;color:var(--muted)}button[data-status=Accepted]{background:var(--soft-blue-bg);color:var(--soft-info-fg)}button[data-status=OnTheWay]{background:var(--soft-warn-bg);color:var(--soft-warn-fg)}button[data-status=Arrived]{background:#f3e8ff;color:#7a3db8}button[data-status=InProgress]{background:var(--soft-ok-bg);color:var(--primary)}.status-line{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;align-items:center;padding:12px 16px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.status-chip{white-space:nowrap;border-radius:999px;padding:8px 14px;background:var(--bg-elevated);color:var(--muted);opacity:.7}.status-chip.done{opacity:1;color:var(--primary);background:var(--soft-ok-bg)}.status-chip.current{opacity:1;font-weight:800;color:#fff;background:#1f8a70;box-shadow:0 0 0 4px #1f8a7038,0 0 18px #1f8a7073}.status-chip.current[data-status=New]{background:#3d5470;box-shadow:0 0 0 4px #3d547038,0 0 18px #3d547066}.status-chip.current[data-status=Assigned],.status-chip.current[data-status=Accepted]{background:#2657c6;box-shadow:0 0 0 4px #2657c638,0 0 18px #2657c666}.status-chip.current[data-status=OnTheWay]{background:#c47a12;box-shadow:0 0 0 4px #c47a1238,0 0 18px #c47a1273}.status-chip.current[data-status=Arrived]{background:#7a3db8;box-shadow:0 0 0 4px #7a3db838,0 0 18px #7a3db866}.status-chip.current[data-status=InProgress],.status-chip.current[data-status=Completed]{background:#1f8a70;box-shadow:0 0 0 4px #1f8a7038,0 0 18px #1f8a7073}.status-chip.danger{background:var(--soft-danger-bg);color:var(--danger);opacity:1}.status-chip[data-status=Emergency].current,.status-chip.current[data-status=Cancelled]{background:var(--danger);box-shadow:0 0 0 4px #c0392b33,0 0 18px #c0392b66}.stack{display:flex;flex-direction:column;gap:10px}.toasts{position:fixed;top:18px;inset-inline-start:18px;z-index:50;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{min-width:280px;max-width:min(420px,100vw - 36px);padding:12px 16px;border-radius:16px;color:#fff;cursor:pointer;pointer-events:auto;box-shadow:0 10px 30px #0f1c2e2e;animation:toast-in .32s ease}.toast strong{display:block;font-size:13px;line-height:1.3}.toast span{display:block;margin-top:3px;font-size:13px;line-height:1.4;opacity:.92}.toast[data-kind=success]{background:#1f8a70}.toast[data-kind=error]{background:#c0392b}.toast[data-kind=info]{background:#2657c6}.toast[data-kind=pulse]{background:linear-gradient(135deg,#12352d,#1f8a70 78%);box-shadow:0 12px 32px #12352d47}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700}.form-grid app-search-select,.form-grid app-multi-select{width:100%}.form-grid .full{grid-column:1/-1}.form-grid .check,.company-form .check{display:flex!important;flex-direction:row!important;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 14px;border-radius:10px;background:var(--panel);border:1px solid var(--line);transition:border-color .15s,background .15s;font-weight:600;font-size:14px;color:var(--fg)}.form-grid .check:has(input:checked),.company-form .check:has(input:checked){border-color:var(--primary, #1a6aa5);background:color-mix(in srgb,var(--primary, #1a6aa5) 6%,var(--panel))}.form-grid .check input[type=checkbox],.company-form .check input[type=checkbox]{-webkit-appearance:none;appearance:none;flex-shrink:0;width:42px;height:24px;border-radius:99px;background:var(--line);border:none;position:relative;cursor:pointer;transition:background .2s;order:-1;margin:0}.form-grid .check input[type=checkbox]:after,.company-form .check input[type=checkbox]:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;inset-inline-start:3px;transition:inset-inline-start .2s;box-shadow:0 1px 4px #00000038}.form-grid .check input[type=checkbox]:checked,.company-form .check input[type=checkbox]:checked{background:var(--primary, #1a6aa5)}.form-grid .check input[type=checkbox]:checked:after,.company-form .check input[type=checkbox]:checked:after{inset-inline-start:21px}.form-grid .check input[type=checkbox]:focus-visible,.company-form .check input[type=checkbox]:focus-visible{outline:2px solid var(--primary, #1a6aa5);outline-offset:2px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.row{display:flex;gap:8px;align-items:center}.row app-search-select{flex:1;min-width:180px}.row.wrap{flex-wrap:wrap}.notice{margin:0 0 12px;padding:12px 14px;border-radius:14px;font-weight:700;line-height:1.45}.notice[data-kind=warn]{background:var(--soft-warn-bg);color:var(--soft-warn-fg)}.notice[data-kind=danger]{background:var(--soft-danger-bg);color:var(--danger)}.notice[data-kind=ok]{background:var(--soft-ok-bg);color:var(--primary)}.dispatch{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.job-card{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--line);border-radius:14px;margin-top:10px;color:inherit;text-decoration:none;background:var(--panel-2)}a{color:var(--primary)}.history-list{display:flex;flex-direction:column;gap:12px}.history-card{border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:var(--panel-2)}.history-card p{margin-bottom:6px}.history-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--bg-elevated);cursor:pointer}.chip input{width:auto}.chip.active{background:var(--soft-ok-bg);color:var(--primary);font-weight:700}.visit-group-head td{background:var(--soft-ok-bg);color:var(--primary);font-weight:700;border-bottom:0}.visit-group-item td:first-child{padding-inline-start:28px}.history-card ul{margin:0;padding-inline-start:18px}.attachments-panel .attach-types{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}.attach-pick{display:inline-flex;width:auto;margin-bottom:6px;cursor:pointer}.attach-pick input{display:none}.attach-pending{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.attach-pending li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.attach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:16px}.attach-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel-2)}.attach-thumb{width:100%;height:150px;padding:0;border:0;border-radius:0;background:var(--bg-elevated);overflow:hidden}.attach-thumb img,.attach-thumb video{width:100%;height:100%;object-fit:cover;display:block}.attach-file-icon{font-size:42px}.attach-meta{display:flex;flex-direction:column;gap:6px;padding:12px}.attach-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-meta .ghost,.attach-meta .danger{padding:6px 10px;font-size:13px}.attach-lightbox{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;background:#0a121cc7;padding:24px}.attach-lightbox img,.attach-lightbox video{max-width:min(96vw,1100px);max-height:88vh;border-radius:12px;background:#000}.attach-close{position:absolute;top:16px;inset-inline-end:16px;width:40px;height:40px;border-radius:999px;background:var(--panel);font-size:24px}@media(max-width:900px){.form-grid,.grid-2{grid-template-columns:1fr}}@media print{@page{size:A4;margin:12mm}.sidebar,.topbar,.app-foot,.no-print{display:none!important}.print-only{display:block!important}.shell{display:block;min-height:0;background:#fff!important}.content{padding:0}.panel{break-inside:avoid;box-shadow:none}a{color:inherit!important;text-decoration:none!important}body.printing-invoice{background:#fff!important;color:#111}body.printing-invoice .job-hero,body.printing-invoice .status-line,body.printing-invoice .job-nav,body.printing-invoice .app-foot,body.printing-invoice .invoice-screen{display:none!important}body.printing-invoice .shell,body.printing-invoice .main,body.printing-invoice .content,body.printing-invoice .job-shell,body.printing-invoice .job-body,body.printing-invoice .job-page,body.printing-invoice .finance,body.printing-invoice .finance-layout{display:block!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;background:#fff!important;box-shadow:none!important;border:0!important;min-height:0!important}body.printing-invoice .invoice-sheet{display:block!important;border:0!important;border-radius:0!important;box-shadow:none!important;max-width:none;padding:0;color:#111}body.printing-invoice .inv-banner{display:grid!important;direction:ltr!important;grid-template-columns:130px 1fr 130px!important;align-items:center;padding-bottom:10px;border-bottom:2px solid #1a6aa5;print-color-adjust:exact;-webkit-print-color-adjust:exact}body.printing-invoice .inv-meta-bar{display:flex!important;direction:ltr!important;justify-content:space-between;background:#eef3f8!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}body.printing-invoice .inv-parties{display:grid!important;direction:ltr!important;grid-template-columns:1fr 1fr!important}body.printing-invoice .invoice-sheet[dir=rtl] .inv-banner,body.printing-invoice .invoice-sheet[dir=rtl] .inv-meta-bar,body.printing-invoice .invoice-sheet[dir=rtl] .inv-parties{direction:rtl!important}body.printing-invoice .inv-party-label{background:#eef3f8!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}body.printing-invoice .inv-table th{background:#1a6aa5!important;color:#fff!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
