@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

.assignee-list{display:grid;gap:7px}.assignee-choice{border:1px solid #433a53;border-radius:9px;background:#24202f;color:#e8e0f4;padding:9px 10px;width:100%;display:flex;align-items:center;gap:8px;text-align:left}.assignee-choice:hover{border-color:#a77bff;background:#302641}.assignee-choice.chosen{border-color:#74589b;background:#302541}.assignee-choice .promoter-initial{margin:0;flex:none}.assignee-choice>span:nth-child(2){min-width:0;flex:1}.assignee-choice strong,.assignee-choice small{display:block}.assignee-choice strong{font-size:10px}.assignee-choice small{font-size:9px;color:#9990aa;margin-top:3px}.choice-indicator{font-size:9px;color:#c9a9ff;font-weight:800;white-space:nowrap}.unassign{display:block;margin:12px auto 0}

:root{font-family:Manrope,system-ui,-apple-system,sans-serif;color:#eeeaf9;background:#100f19;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.app-shell{min-height:100vh;display:grid;grid-template-columns:254px minmax(0,1fr)}.sidebar{background:#14131e;border-right:1px solid #2a2838;display:flex;flex-direction:column;padding:31px 16px 20px;min-height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 13px;font-size:25px;font-weight:800;letter-spacing:-1.6px;line-height:1}.brand-mark{width:37px;height:37px;border-radius:12px;background:#8b5cf6;color:#fff;display:grid;place-items:center;font-size:28px;font-weight:400}.brand-dot{color:#a77bff}.brand small{display:block;font-size:8px;font-weight:800;letter-spacing:1.7px;color:#77748c;margin-top:7px}.workspace-label,.eyebrow{color:#858199;font-size:10px;font-weight:800;letter-spacing:1.6px}.workspace-label{margin:57px 13px 16px}.sidebar nav{display:grid;gap:4px}.nav-item{background:transparent;border:0;color:#a6a3b8;text-align:left;padding:13px 14px;border-radius:10px;font-size:13px;font-weight:700;display:flex;align-items:center;gap:13px;width:100%}.nav-item:hover{background:#211f2f;color:#fff}.nav-item.active{background:#302643;color:#bd9fff}.nav-icon{width:18px;text-align:center;font-size:20px;line-height:16px}.nav-count{margin-left:auto;background:#3d3451;border-radius:6px;padding:2px 7px;color:#cdb7ff;font-size:10px}.sidebar-bottom{margin-top:auto}.sidebar-tip{margin:0 7px 24px;padding:15px 15px 12px;border-radius:13px;background:linear-gradient(145deg,#2d2340,#211b30);border:1px solid #47365e}.sidebar-tip>span{font-size:23px;color:#b89afa}.sidebar-tip strong{display:block;margin:8px 0 4px;font-size:11px}.sidebar-tip p{margin:0;color:#a9a0bd;font-size:10px;line-height:1.6}.agency{border-top:1px solid #2b2938;padding:18px 9px 0;display:flex;gap:10px;align-items:center}.agency-avatar{width:34px;height:34px;border-radius:10px;background:#513b74;display:grid;place-items:center;color:#ded0ff;font-size:13px;font-weight:800}.agency strong,.agency small{display:block;font-size:10px}.agency small{font-size:9px;color:#837f94;margin-top:3px}.main-column{min-width:0}.topbar{height:70px;border-bottom:1px solid #252331;display:flex;align-items:center;justify-content:space-between;padding:0 42px;color:#8d899e;font-size:11px}.breadcrumb span{padding:0 9px;color:#56536a}.breadcrumb strong{color:#d8d2e6;font-weight:700}.topbar-right{display:flex;align-items:center;gap:9px}.status-dot{width:7px;height:7px;border-radius:50%;background:#8e69f5;box-shadow:0 0 10px #8e69f5}main{padding:40px 42px 80px;max-width:1530px;margin:auto}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:30px}.page-heading h1{font-size:29px;letter-spacing:-1.2px;margin:7px 0 8px;line-height:1.2}.page-heading p{font-size:12px;color:#918da4;margin:0}.eyebrow{color:#a879ff}.primary-button,.secondary-button{height:41px;border-radius:9px;padding:0 16px;display:inline-flex;align-items:center;gap:16px;justify-content:center;font-size:11px;font-weight:800;white-space:nowrap}.primary-button{border:1px solid #996aff;color:white;background:linear-gradient(135deg,#8e58ec,#7545dd);box-shadow:0 8px 20px #6339b538}.primary-button:hover{filter:brightness(1.13)}.secondary-button{border:1px solid #383447;background:#211e2d;color:#d7cde9}.secondary-button:hover{border-color:#7559a8}.button-icon{font-size:18px;font-weight:400}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:25px}.stat-card,.panel{background:#191824;border:1px solid #302c3c;border-radius:14px}.stat-card{padding:18px 20px;min-height:115px}.stat-header{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#9691a9}.stat-symbol{font-size:17px;color:#a98af4}.stat-number{font-family:'DM Sans',sans-serif;font-size:30px;font-weight:700;letter-spacing:-1px;margin-top:12px;line-height:1}.stat-foot{font-size:10px;color:#827d95;margin-top:8px}.stat-card.accent{border-color:#5e478d;background:linear-gradient(140deg,#34264e,#241d32)}.stat-card.accent .stat-number{color:#c09fff}.content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.9fr);gap:20px}.panel{overflow:hidden}.panel-head{padding:20px 22px;border-bottom:1px solid #2e2a3b;display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-head h2{font-size:13px;letter-spacing:-.2px;margin:0}.panel-head small{color:#88839d;font-size:10px}.text-link{border:0;background:transparent;color:#bc99ff;font-size:10px;font-weight:800;padding:5px}.upload-panel{padding:19px 22px 21px}.dropzone{border:1px dashed #67528a;background:#211b30;border-radius:12px;min-height:153px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;transition:.15s;padding:20px}.dropzone.dragging{border-color:#ba96ff;background:#342747}.upload-icon{width:43px;height:43px;border-radius:11px;background:#382a52;color:#c1a3ff;display:grid;place-items:center;font-size:25px;margin-bottom:11px}.dropzone strong{font-size:11px}.dropzone p{font-size:10px;color:#8f88a5;margin:5px 0 12px}.dropzone button{border:0;background:none;color:#c5a8ff;font-size:10px;font-weight:800;text-decoration:underline;text-underline-offset:3px}.upload-help{font-size:10px;color:#807b93;margin:12px 2px 0;line-height:1.6}.route-list{padding:3px 0}.route-row{border:0;background:transparent;width:100%;display:flex;text-align:left;gap:13px;align-items:center;padding:16px 22px;border-bottom:1px solid #292636;color:inherit}.route-row:last-child{border:0}.route-row:hover,.route-row.selected{background:#221d30}.route-icon{flex:none;width:36px;height:36px;border-radius:10px;background:#342747;color:#b898fa;display:grid;place-items:center;font-size:17px}.route-copy{min-width:0;flex:1}.route-copy strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-copy small{display:block;font-size:9px;color:#898399;margin-top:4px}.route-chevron{color:#766e89;font-size:17px}.badge{font-size:9px;font-weight:800;padding:6px 8px;border-radius:6px;white-space:nowrap}.badge.assigned{background:#24372f;color:#7bd0a0}.badge.unassigned{background:#3c304d;color:#bd9ff0}.empty{padding:45px 24px;text-align:center;color:#918ba5;font-size:11px}.empty-symbol{font-size:26px;color:#9b78d7;display:block;margin-bottom:10px}.empty strong{display:block;color:#dfd8eb;font-size:12px;margin-bottom:6px}.detail-body{padding:19px 21px 23px}.map-preview{height:190px;border:1px solid #393149;border-radius:12px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 40% 30%,#372d4a 0,#232032 58%,#1a1926 100%)}.map-preview:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#4b435426 1px,transparent 1px),linear-gradient(90deg,#4b435426 1px,transparent 1px);background-size:28px 28px;transform:rotate(-10deg) scale(1.5)}.map-preview svg{position:relative;width:100%;height:100%}.map-caption{position:absolute;bottom:8px;left:9px;background:#181620de;border:1px solid #4b405a;border-radius:5px;color:#a9a0ba;font-size:8px;padding:4px 6px}.detail-title{font-size:17px;letter-spacing:-.4px;margin:18px 0 4px}.detail-meta{font-size:10px;color:#898399}.divider{border:0;border-top:1px solid #2d293a;margin:19px 0}.section-label{font-size:10px;color:#938ca7;font-weight:800;margin-bottom:12px}.point-list{list-style:none;margin:0;padding:0;display:grid;gap:11px}.point-list li{display:flex;gap:10px;align-items:flex-start}.point-number{width:21px;height:21px;border:1px solid #7959a7;background:#302344;color:#ceb3ff;border-radius:50%;display:grid;place-items:center;flex:none;font-size:9px;font-weight:800}.point-list strong{font-size:10px;display:block;line-height:1.3}.point-list small{display:block;color:#8a839c;font-size:9px;margin-top:4px;line-height:1.4}.assignment{margin-top:21px;padding-top:17px;border-top:1px solid #302b3d}.assignment label{display:block;font-size:10px;font-weight:800;color:#a49cb7;margin-bottom:9px}.assignment select,.toolbar-search{width:100%;height:38px;background:#24212f;border:1px solid #443b54;border-radius:8px;color:#ede8f5;padding:0 11px;outline:0;font-size:11px}.assignment select:focus,.toolbar-search:focus{border-color:#996ee9}.assignment .primary-button{width:100%;margin-top:11px}.table-panel{margin-top:5px}.table-toolbar{padding:16px 20px;display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #302b3d}.toolbar-search{max-width:300px}.table{width:100%;border-collapse:collapse;font-size:11px}.table th{font-size:9px;color:#817b93;text-align:left;letter-spacing:.6px;font-weight:800;padding:14px 20px;border-bottom:1px solid #302b3d}.table td{padding:15px 20px;border-bottom:1px solid #292636;color:#c7c1d4}.table tr:last-child td{border-bottom:0}.table tbody tr{cursor:pointer}.table tbody tr:hover{background:#211d2c}.table td strong{color:#eee9f6;font-weight:700}.muted{color:#817b94!important}.code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:10px;color:#ba9ff2}.promoter-initial{width:28px;height:28px;background:#4b3769;color:#d8bbff;border-radius:8px;display:inline-grid;place-items:center;margin-right:9px;font-weight:800}.toast{position:fixed;bottom:24px;right:25px;background:#352848;border:1px solid #8162ad;border-radius:10px;padding:13px 18px;color:#f5eeff;font-size:11px;box-shadow:0 14px 40px #0007;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;max-width:340px;z-index:10}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#432638;border-color:#b05f83}.dialog{border:0;padding:0;color:#f1eaf9;background:transparent;max-width:440px;width:calc(100% - 30px)}.dialog::backdrop{background:#08070cd9;backdrop-filter:blur(5px)}.dialog-card{background:#211c2d;border:1px solid #57456d;border-radius:17px;padding:28px;position:relative;display:grid;gap:16px}.dialog-card h2{font-size:20px;margin:-7px 0 -10px}.dialog-card p{color:#a49bb5;font-size:11px;margin:0 0 3px}.dialog-card label{font-size:10px;color:#c9bfd7;display:grid;gap:7px;font-weight:800}.dialog-card input{height:41px;border-radius:8px;border:1px solid #544563;background:#171422;color:#fff;padding:0 12px;outline:0}.dialog-card input:focus{border-color:#ac7ff6}.dialog-close{position:absolute;right:16px;top:13px;background:none;border:0;color:#c8b9d5;font-size:24px}.form-error{color:#f0a6bb;font-size:10px;min-height:0}.dialog-card>.primary-button{width:100%}@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.detail-panel{max-width:none}}@media(max-width:720px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto;padding:15px;display:block}.brand{font-size:21px}.brand small,.workspace-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;margin-top:18px;overflow:auto}.nav-item{width:auto;white-space:nowrap}.topbar{height:47px;padding:0 17px}.topbar-right{display:none}main{padding:25px 17px 60px}.page-heading{align-items:flex-start}.page-heading h1{font-size:23px}.stats{gap:9px}.stat-card{min-height:100px;padding:14px}.stat-number{font-size:26px}.page-heading>.primary-button{font-size:0;width:39px;padding:0}.page-heading>.primary-button .button-icon{font-size:21px}.table{display:block;overflow-x:auto;white-space:nowrap}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.reports-list { display:grid; gap:20px; }
.report-body { padding:22px; }
.report-meta { color:var(--text-muted, #a6a1bb); font-size:12px; }
.report-photos { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:12px; margin:20px 0; }
.report-photo { color:inherit; text-decoration:none; min-width:0; background:transparent; border:0; padding:0; text-align:left; }
.report-photo:hover img,.report-photo:focus-visible img { outline:2px solid #ae82fa; }
.report-photos img { display:block; width:100%; height:155px; object-fit:cover; border-radius:12px; background:#272236; }
.report-photos span { display:block; margin-top:7px; font-size:11px; color:#aba5c0; }
.report-photos small { display:block; color:#d8cbea; overflow-wrap:anywhere; margin-top:4px; }
.photo-viewer-overlay { position:fixed; inset:0; z-index:100; background:#080610ed; display:grid; place-items:center; padding:16px; }
.photo-viewer { width:min(980px,100%); max-height:96dvh; overflow:auto; border:1px solid #665184; border-radius:18px; background:#211a30; padding:16px; box-shadow:0 28px 80px #000b; }
.photo-viewer header { display:flex; justify-content:space-between; align-items:center; color:#f2e9ff; margin-bottom:12px; }
.photo-viewer-close,.photo-viewer-prev,.photo-viewer-next { border:1px solid #655078; border-radius:10px; background:#312544; color:#fff; font-size:28px; min-width:42px; min-height:42px; }
.photo-viewer-stage { display:grid; grid-template-columns:42px minmax(0,1fr) 42px; align-items:center; gap:10px; }
.photo-viewer-stage img { display:block; max-width:100%; max-height:67dvh; margin:auto; object-fit:contain; border-radius:10px; }
.photo-viewer-meta { display:grid; gap:7px; padding:14px 52px 3px; color:#dfd5ed; font-size:13px; }
.photo-viewer-meta span { color:#a9a0ba; }
.photo-viewer-meta p { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
@media(max-width:600px){.photo-viewer{padding:10px}.photo-viewer-stage{grid-template-columns:34px minmax(0,1fr) 34px;gap:4px}.photo-viewer-prev,.photo-viewer-next{min-width:34px}.photo-viewer-meta{padding:12px 38px 4px}}
.report-footer { display:flex; flex-wrap:wrap; align-items:flex-start; gap:20px; }
.report-review { flex:1; min-width:260px; }
.report-review label { display:grid; gap:8px; font-size:12px; color:#bab3cf; }
.report-review textarea { padding:12px; resize:vertical; border:1px solid #514465; border-radius:10px; background:#211b30; color:#fff; font:inherit; }
.report-review > div { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; margin-top:12px; }
.report-feedback { padding:12px; border-left:3px solid #a78bfa; background:#272038; border-radius:8px; }
.report-works{display:grid;gap:8px;margin:18px 0;padding:15px;border:1px solid #463858;border-radius:12px;background:#211b30}.report-works h3{font-size:13px;margin:0 0 3px;color:#d9c4ff}.report-work-row{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:12px}.report-work-row strong{overflow-wrap:anywhere}.report-work-row span{color:#c3b5d8;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.report-actual-empty{color:#aaa0bc;font-size:12px}@media(max-width:600px){.report-work-row{display:grid;gap:3px}.report-work-row span{text-align:left;white-space:normal}}
