@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-arabic/ibm-plex-sans-arabic-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-arabic/ibm-plex-sans-arabic-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-arabic/ibm-plex-sans-arabic-arabic-500-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-arabic/ibm-plex-sans-arabic-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-arabic/ibm-plex-sans-arabic-arabic-600-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-arabic/ibm-plex-sans-arabic-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-sans-arabic/ibm-plex-sans-arabic-arabic-700-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-sans-arabic/ibm-plex-sans-arabic-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primary: #0b5d3b;--primary-hover: #073b2a;--dark-green: #073b2a;--soft-green: #eaf7f0;--soft-line: #bcebd4;--bg-warm: #f7f3ea;--surface: #ffffff;--ink: #172033;--ink-soft: #334155;--muted: #64748b;--line: #e2e8f0;--line-soft: #e2e8f0;--primary-ink: #ffffff;--focus: #0b5d3b;--info-slate: #334155;--warn: #b54708;--danger: #b42318;--shadow: 0 8px 24px rgba(23, 32, 51, .07);--shadow-lg: 0 18px 45px rgba(23, 32, 51, .1);--radius: 26px;--radius-sm: 14px;--radius-btn: 16px;--touch: 48px;--space: 8px;--danger-bg: #fef3f2;--danger-ink: #b42318;--danger-line: #fecdca;--success-bg: #eaf7f0;--success-ink: #0b5d3b;--success-line: #bcebd4;--warn-bg: #fffaeb;--warn-ink: #b54708;--warn-line: #fedf89;--overdue-bg: #fef3f2;--overdue-ink: #b42318;--stalled-bg: #f1f5f9;--stalled-ink: #334155;--outside-bg: #fffaeb;--outside-ink: #b54708;font-family:IBM Plex Sans Arabic,Tahoma,sans-serif;font-size:16px;line-height:1.7;color:var(--ink);background:radial-gradient(circle at 92% -8%,rgba(11,93,59,.16),transparent 34%),radial-gradient(circle at 6% 0%,rgba(181,71,8,.08),transparent 30%),linear-gradient(180deg,#fbfaf6 0%,var(--bg-warm) 55%,#eef5f0 100%);background-attachment:fixed}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{overflow-x:hidden;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--primary)}.page{width:100%;max-width:440px;margin:0 auto;padding:calc(var(--space) * 2);padding-bottom:calc(var(--space) * 5)}.page-hero{display:flex;flex-direction:column;gap:18px;margin-bottom:calc(var(--space) * 2.5);padding:22px 20px;border-radius:28px;background:linear-gradient(135deg,var(--primary) 0%,#0f8a5f 100%);color:#fff;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.page-hero:before,.page-hero:after{content:"";position:absolute;border-radius:50%;background:#ffffff1a;pointer-events:none}.page-hero:before{width:140px;height:140px;inset:-48px auto auto -28px}.page-hero:after{width:200px;height:200px;inset:auto -60px -70px auto}.page-hero-text,.page-hero-actions{position:relative}.page-hero-brand{margin:0 0 6px;font-size:.8rem;font-weight:700;letter-spacing:.02em;color:#ffffffd1}.page-hero h1{margin:0 0 6px;font-size:1.55rem;font-weight:700;letter-spacing:-.02em;line-height:1.3}.page-hero-sub{margin:0;font-size:.92rem;color:#ffffffe0;line-height:1.55}.page-hero-meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:10px;font-size:.8rem;color:#ffffffe6}.page-hero-meta span{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#ffffff24;border:1px solid rgba(255,255,255,.28)}.page-hero-actions{display:flex;flex-direction:column;gap:8px}.page-hero-actions .btn{width:100%;background:#fff;border-color:#fff;color:var(--primary);box-shadow:none}.page-hero-actions .btn:hover:not(:disabled){background:var(--soft-green);border-color:var(--soft-green);color:var(--dark-green)}.page-hero-actions .btn.ghost,.page-hero-actions .btn.nav{background:#ffffff24;border-color:#fff6;color:#fff}.page-hero-actions .btn.ghost:hover:not(:disabled),.page-hero-actions .btn.nav:hover:not(:disabled){background:#ffffff3d;border-color:#ffffff8c;color:#fff}.page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--space) * 1.5);margin-bottom:calc(var(--space) * 2.5)}.page-header h1{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.01em;line-height:1.35}.brand{margin:0;font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--primary);line-height:1.2}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:calc(var(--space) * 2);border-radius:18px;background:linear-gradient(135deg,var(--primary),#0f8a5f);color:var(--primary-ink);font-weight:700;font-size:1.2rem;box-shadow:0 10px 24px #0b5d3b38}.lede{margin:0 0 calc(var(--space) * 2.5);color:var(--muted);font-size:.95rem;font-weight:400}.stack{display:flex;flex-direction:column;gap:calc(var(--space) * 1.5)}.row{display:flex;flex-wrap:wrap;gap:var(--space);align-items:center}.grow{flex:1 1 8rem;min-width:0}.field{display:flex;flex-direction:column;gap:7px;border:0;padding:0;margin:0;min-width:0}.field>span,.field>legend{font-size:.9rem;font-weight:700;color:var(--ink-soft)}.field-hint{margin:0;font-size:.8rem;color:var(--muted);line-height:1.5}.fieldset-card{margin:0;padding:calc(var(--space) * 2);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.fieldset-card>legend{padding:0 8px;font-size:.9rem;font-weight:700;color:var(--primary)}.form-group{display:flex;flex-direction:column;gap:calc(var(--space) * 1.75);padding:calc(var(--space) * 2);border:1px solid rgba(255,255,255,.74);border-radius:30px;background:#ffffffe0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.form-group-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--primary)}.touch-input,.touch,.btn{min-height:var(--touch);min-width:var(--touch)}.touch-input{width:100%;max-width:100%;padding:13px 14px;border:1px solid #d0d5dd;border-radius:var(--radius-sm);background:var(--surface);transition:border-color .15s ease,box-shadow .15s ease}.touch-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--soft-green)}textarea.touch-input{resize:vertical;min-height:110px;line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;padding:12px 18px;border:1px solid var(--line);border-radius:var(--radius-btn);background:var(--surface);font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease,box-shadow .15s ease}.btn:active:not(:disabled){transform:scale(.98)}.btn.block{width:100%}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink);box-shadow:0 10px 24px #0b5d3b2e}.btn.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn.secondary{background:var(--info-slate);border-color:var(--info-slate);color:#fff}.btn.secondary:hover:not(:disabled){background:#1e293b;border-color:#1e293b}.btn.nav,.btn.light{background:#f1f5f9;border-color:var(--line);color:var(--ink-soft);box-shadow:var(--shadow)}.btn.nav:hover:not(:disabled),.btn.light:hover:not(:disabled){background:#e2e8f0}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff;box-shadow:none}.btn.danger:hover:not(:disabled){background:#912018;border-color:#912018}.btn.accent{background:var(--soft-green);border-color:var(--soft-line);color:var(--primary)}.btn.accent:hover:not(:disabled){background:#d8f0e4}.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-soft);box-shadow:none}.btn.linkish{background:transparent;border-color:transparent;color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:3px;box-shadow:none}.btn:disabled{opacity:.55;cursor:not-allowed}.msg{margin:0;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--danger-line);background:var(--danger-bg);color:var(--danger-ink);font-size:.925rem;word-break:break-word}.msg-success{margin:0;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--success-line);background:var(--success-bg);color:var(--success-ink);font-weight:700;font-size:.925rem}.muted{color:var(--muted);font-size:.9rem}.section-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--ink)}.chip{display:inline-flex;align-items:center;max-width:100%;padding:5px 11px;border-radius:999px;font-size:.75rem;font-weight:700;line-height:1.4;white-space:nowrap;border:1px solid transparent}.chip-row,.flag-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chip-status--new{background:var(--soft-green);color:var(--primary);border-color:var(--soft-line)}.chip-status--assigned{background:#f1f5f9;color:var(--ink-soft);border-color:var(--line)}.chip-status--in_progress,.chip-status--pending_approval{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-line)}.chip-status--returned_for_completion{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-line)}.chip-status--approved{background:#d8f0e4;color:var(--primary);border-color:#8fd4b0}.chip-status--closed_final{background:var(--dark-green);color:#fff;border-color:var(--dark-green)}.chip-status--archived{background:#f1f5f9;color:var(--muted);border-color:var(--line)}.chip-priority--emergency{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-line)}.chip-priority--high{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-line)}.chip-priority--medium{background:var(--soft-green);color:var(--primary);border-color:var(--soft-line)}.chip-priority--low{background:#f1f5f9;color:var(--muted);border-color:var(--line)}.chip-flag--outside{background:var(--outside-bg);color:var(--outside-ink);border-color:var(--warn-line)}.chip-flag--overdue{background:var(--overdue-bg);color:var(--overdue-ink);border-color:var(--danger-line)}.chip-flag--stalled{background:var(--stalled-bg);color:var(--stalled-ink);border-color:var(--line)}.chip-meta{background:#f1f5f9;color:var(--muted);border-color:var(--line);font-weight:600}.login-page{display:flex;flex-direction:column;justify-content:center;min-height:100dvh;padding-top:calc(var(--space) * 3);padding-bottom:calc(var(--space) * 3)}.login-card{padding:calc(var(--space) * 3.5) calc(var(--space) * 3);border:1px solid rgba(255,255,255,.74);border-radius:30px;background:#ffffffeb;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.login-card .stack{gap:calc(var(--space) * 2)}.report-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:calc(var(--space) * 1.75)}.report-card{border:1px solid rgba(255,255,255,.74);border-radius:var(--radius);background:#ffffffeb;box-shadow:var(--shadow);overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.report-card-head{width:100%;text-align:start;display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:16px 16px 14px;border:0;background:transparent;cursor:pointer;font:inherit}.report-card-head:hover{background:var(--soft-green)}.report-card.is-open{border-color:var(--soft-line);box-shadow:0 0 0 2px var(--soft-green),var(--shadow)}.report-number{font-weight:800;font-size:.8rem;color:var(--primary);letter-spacing:.01em}.report-title{font-weight:700;font-size:1.05rem;line-height:1.4;word-break:break-word;color:var(--ink)}.report-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;color:var(--muted);font-size:.8rem}.report-card-body{display:flex;flex-direction:column;gap:calc(var(--space) * 1.75);padding:16px;border-top:1px solid var(--line)}.report-desc{margin:0;color:var(--ink-soft);font-size:.95rem;white-space:pre-wrap;word-break:break-word;line-height:1.65}.report-section{display:flex;flex-direction:column;gap:10px}.report-section-label{margin:0;font-size:.8rem;font-weight:700;color:var(--muted)}.location-row{display:flex;flex-direction:column;gap:8px}.location-coords{margin:0;padding:12px 14px;border-radius:var(--radius-sm);background:var(--soft-green);border:1px dashed var(--soft-line);color:var(--primary);font-weight:600;font-size:.875rem;direction:ltr;text-align:left;word-break:break-all}.images{display:grid;grid-template-columns:1fr;gap:var(--space)}.report-image{width:100%;max-width:100%;height:auto;border-radius:18px;border:1px solid var(--line);background:var(--bg-warm)}.thumb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.thumb{position:relative;aspect-ratio:1;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--soft-green)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb-remove{position:absolute;top:6px;left:6px;width:28px;height:28px;min-width:28px;min-height:28px;padding:0;border:0;border-radius:50%;background:#172033a6;color:#fff;font-size:.85rem;cursor:pointer}.file-counter{margin:0;font-size:.85rem;color:var(--muted);font-weight:600}.decisions{display:flex;flex-direction:column;gap:8px}.decision-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.decision-item{padding:12px 14px;border-radius:var(--radius-sm);background:#f8fafc;border:1px solid var(--line);font-size:.875rem}.decision-level{font-weight:700;color:var(--ink-soft)}.decision-reason{margin-top:4px;color:var(--muted)}.return-form{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px dashed var(--soft-line);border-radius:var(--radius-sm);background:var(--soft-green)}.action-buttons{display:flex;flex-direction:column;gap:8px;padding-top:4px}.action-buttons .btn{width:100%}.action-buttons .row .btn{flex:1 1 auto;width:auto}.spinner-wrap{display:flex;align-items:center;gap:12px;padding:16px 4px;color:var(--muted)}.spinner{width:22px;height:22px;border:2.5px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton-list{display:flex;flex-direction:column;gap:12px}.skeleton-card{padding:18px;border-radius:var(--radius);background:#ffffffe0;border:1px solid var(--line);box-shadow:var(--shadow)}.skeleton-line{height:12px;margin-bottom:10px;border-radius:6px;background:linear-gradient(90deg,#eaf7f0,#f7f3ea,#eaf7f0);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}.skeleton-line:last-child{margin-bottom:0}.w-70{width:70%}.w-55{width:55%}.w-40{width:40%}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.empty-state{text-align:center;padding:calc(var(--space) * 4) calc(var(--space) * 2);border:1px dashed var(--soft-line);border-radius:var(--radius);background:#ffffffbf}.empty-icon{color:var(--primary);margin-bottom:12px}.empty-title{margin:0 0 8px;font-size:1.1rem;font-weight:700}.empty-lede{margin:0;color:var(--muted);font-size:.925rem}.loc-btn-wrap{margin-top:4px}.header-actions{display:flex;flex-wrap:wrap;gap:8px}.header-actions .btn{flex:1 1 auto;width:100%}.mapbox-hint{display:grid;place-items:center;gap:8px;min-height:120px;padding:16px;border-radius:20px;background:linear-gradient(135deg,var(--soft-green),#f1f5f9);border:1px dashed var(--soft-line);color:var(--primary);font-weight:700;text-align:center;font-size:.9rem}@media(min-width:441px){.page{padding-top:calc(var(--space) * 3);max-width:480px}.page-hero-actions{flex-direction:row}.page-hero-actions .btn{width:auto;flex:1 1 auto}}.app-shell{min-height:100vh;background:radial-gradient(1200px 480px at 100% -10%,rgba(11,93,59,.12),transparent 60%),radial-gradient(900px 400px at 0% 100%,rgba(188,235,212,.45),transparent 55%),var(--bg-warm)}.shell-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 8px;max-width:480px;margin:0 auto}.shell-brand-block{display:grid;gap:2px}.shell-brand{margin:0;font-size:1.35rem;font-weight:700;color:var(--primary);letter-spacing:-.02em}.shell-user{margin:0;font-size:.9rem;color:var(--ink-soft)}.shell-persona{display:inline-block;margin-inline-start:8px;color:var(--muted);font-size:.8rem}.shell-nav{display:flex;flex-wrap:wrap;gap:8px;padding:8px 16px 0;max-width:480px;margin:0 auto}.shell-nav-item{border:1px solid var(--soft-line);background:var(--surface);color:var(--ink-soft);border-radius:var(--radius-btn);padding:10px 14px;font-weight:600;cursor:pointer}.shell-nav-item.is-active{background:var(--soft-green);color:var(--primary);border-color:var(--primary)}.shell-body{padding-bottom:32px}.filters{margin:0 0 16px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm)}.check-row{display:flex;align-items:center;gap:10px;flex-direction:row}.check-row input{width:20px;height:20px}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.user-list,.assignment-list,.timeline-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.user-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px}.user-card-head{display:grid;gap:4px;margin-bottom:8px}.assignment-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--line)}.timeline-item{padding:10px 0;border-bottom:1px solid var(--line)}.timeline-summary{font-weight:600;color:var(--ink)}.detail-title{margin:0 0 8px;font-size:1.25rem;color:var(--ink)}
