*{box-sizing:border-box}body{margin:0;background:#f4f3f8;color:#282437;font-family:Arial,sans-serif}main{max-width:590px;margin:auto;padding:24px 20px 36px}header{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:8px;font-size:19px;font-weight:700;letter-spacing:-.5px;text-decoration:none;color:#282437}.brand b{font-size:36px;color:#7954d7}.connection{font-size:11px;background:#e6f1eb;color:#3a8369;padding:8px 11px;border-radius:25px}.connection.offline{background:#fff0ce;color:#926c20}.intro{padding:36px 0 24px}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:700;color:#92869e}h1{font-size:39px;line-height:1.14;letter-spacing:-1.8px;margin:14px 0}h1 em{font-style:normal;color:#7954d7}.intro p{font-size:13px;color:#8b8097}nav{display:flex;background:#eae6f1;padding:5px;border-radius:14px;margin-bottom:20px;gap:5px}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{opacity:.42;cursor:default}nav button{flex:1;border-radius:10px;padding:12px;background:transparent;font-size:13px;color:#8d819b;font-weight:600}nav .active{background:white;color:#7150b8;box-shadow:0 2px 5px #32204a08}.card{background:white;padding:23px;border-radius:22px;border:1px solid #eae5f0;margin-bottom:16px}.taskhead{display:flex;justify-content:space-between;gap:10px}h2{font-size:17px;letter-spacing:-.4px;margin:8px 0}.task p{font-size:11px;color:#9a8fa5}.badge{align-self:start;white-space:nowrap;border-radius:8px;background:#f1ebfa;color:#8360bd;padding:7px 10px;font-size:10px}.stats{display:flex;border-top:1px solid #efebf4;padding-top:18px;margin-top:20px}.stats div{flex:1}.stats b{display:block;font-size:25px;letter-spacing:-1px}.stats span{font-size:10px;color:#9a8fa4}.sectiontitle{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.sectiontitle h2{margin:0}.sectiontitle>span{font-size:11px;color:#b0a4bd}.camera{width:100%;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:9px;min-height:147px;border:1px dashed #b9a3df;background:#fbf8ff;border-radius:15px;color:#8059c6}.camera>span{font-size:39px;line-height:1}.camera strong{font-size:13px}.camera small{font-size:10px;color:#aa95bd}label{display:block;font-size:11px;color:#8b7c9c;margin-top:20px}select,input[type=number]{width:100%;background:#fcfbfe;border:1px solid #e5dfee;border-radius:11px;padding:13px;margin-top:8px;font-size:16px;color:#393044;outline-color:#9a7ad1}.primary,.secondary{padding:15px;border-radius:12px;width:100%;font-size:13px;font-weight:700}.primary{background:#7954d7;color:white;margin-top:20px;box-shadow:0 6px 16px #7954d724}.secondary{background:#f1ebfa;color:#7954bd;margin-top:17px}.hint{font-size:10px;line-height:1.7;color:#a398ae;text-align:center;margin:13px 0 0}.empty{text-align:center;color:#afa2bd;font-size:12px;line-height:1.9;padding:25px 0}.photo{display:flex;gap:13px;padding:14px 0;border-bottom:1px solid #f1edf6}.photo img{height:100px;width:80px;object-fit:cover;border-radius:10px}.photo strong,.photo span,.photo small,.photo b{display:block}.photo strong{font-size:13px}.photo span{font-size:11px;color:#94869f;margin:6px 0}.photo small{font-size:10px;line-height:1.5;color:#b0a2b9}.photo b{font-size:10px;margin-top:7px}.ok{color:#418c70}.waiting{color:#a17c37}#preview{width:100%;max-height:240px;object-fit:cover;border-radius:12px;margin-top:15px}#geo{font-size:11px;color:#43876d}.finish{padding:0 5px}.finish p{font-size:11px;line-height:1.7;color:#93869f}.finish .primary{margin-top:0}.notice{padding:15px;border-radius:12px;border:1px solid #d9c8eb;background:#eee5fa;color:#76539a;font-size:12px;line-height:1.7;margin-top:18px}footer{text-align:center;font-size:10px;color:#b0a2bb;line-height:1.8;margin-top:24px}.guide{font-size:13px;line-height:1.8}.guide li{margin:15px 0}.guide ol{padding-left:20px}.guide p{font-size:11px;color:#9786a5}[hidden]{display:none!important}
#capture-status{font-size:12px;line-height:1.7;color:#76539a;background:#f4eefb;padding:12px;border-radius:10px;margin:14px 0 0}#photo-details{margin-top:8px}

#photo-dialog{border:0;border-radius:24px;padding:24px;width:calc(100% - 28px);max-width:430px;max-height:calc(100dvh - 40px);overflow:auto;color:#282437;background:white;box-shadow:0 24px 90px #20113444}#photo-dialog::backdrop{background:#21152e88;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:15px}.dialog-heading h2{font-size:21px;margin:7px 0 2px}.close-dialog{background:#f2edf8;color:#8b729e;border-radius:50%;width:34px;height:34px;font-size:25px;line-height:30px;flex-shrink:0}#photo-dialog #preview{max-height:180px}body:has(#photo-dialog[open]){overflow:hidden}#photo-dialog .primary{position:sticky;bottom:0}#photo-dialog #capture-status{margin-top:12px}

.install-banner{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:16px;background:#ede6f8;border:1px solid #dfd2ef;border-radius:16px;margin:0 0 18px}.install-banner strong{font-size:12px}.install-banner p{font-size:10px;line-height:1.5;color:#8e7a9f;margin:5px 0 0}.install-banner button{background:white;border-radius:10px;padding:11px;color:#7954bd;font-size:11px;font-weight:700;max-width:130px}#install-dialog{border:0;border-radius:23px;padding:24px;width:calc(100% - 28px);max-width:430px;max-height:calc(100dvh - 40px);overflow:auto;color:#282437;background:white}#install-dialog::backdrop{background:#21152e88;backdrop-filter:blur(4px)}#install-dialog p,#install-dialog li{font-size:13px;line-height:1.7}#install-dialog ol{padding-left:20px}#install-dialog li{margin:12px 0}#install-url{width:100%;padding:12px;border:1px solid #e5dfee;border-radius:10px;font-size:12px;margin-top:8px}body:has(#install-dialog[open]){overflow:hidden}@media(display-mode:standalone){main{padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(32px,env(safe-area-inset-bottom))}}

#auth-state{font-size:12px;line-height:1.6;color:#887297}.bot-link{display:block;text-align:center;background:#7954d7;color:white;padding:13px;border-radius:12px;text-decoration:none;font-size:13px}#login-code{width:100%;padding:12px;border:1px solid #dfd2ef;border-radius:10px;margin-top:8px;font-size:16px;text-transform:uppercase}#link-code{display:block;font-size:20px;letter-spacing:2px;text-align:center;background:#f2ebfc;padding:16px;border-radius:12px;margin-top:12px;overflow-wrap:anywhere}#offline-dialog{border:0;border-radius:24px;padding:28px;width:calc(100% - 32px);max-width:390px;color:#282437;text-align:center}#offline-dialog::backdrop{background:#21152e88;backdrop-filter:blur(4px)}#offline-dialog p{font-size:13px;line-height:1.7;color:#8b779a}.ready-check{margin:0 auto 16px;background:#e3f3ea;color:#3b9474;font-size:34px;width:66px;height:66px;border-radius:50%;line-height:66px}body:has(#offline-dialog[open]){overflow:hidden}

#copy-code-status{font-size:12px;line-height:1.6;color:#548772;margin-bottom:0}

#registration input{width:100%;padding:13px;font-size:16px;margin-top:8px;border:1px solid #e5dfee;border-radius:11px}#registration-status,#team-status,#team>p{font-size:12px;line-height:1.7;color:#8b779a}#role-badge{font-size:10px;background:#eee7fa;padding:7px;border-radius:8px;color:#7954bd}#rejection-reason{padding:12px;background:#fff0ec;color:#ad624b;border-radius:12px;font-size:13px;line-height:1.7}.small-button{background:#f2ebfc;color:#7954bd;padding:9px;border-radius:8px;font-size:11px}.staff-card{padding:18px 0;border-bottom:1px solid #e9e2f2}.staff-card h3{font-size:15px;margin:0 0 8px}.staff-card p{font-size:11px;color:#8e7b9d;line-height:1.7}.staff-card textarea{width:100%;min-height:75px;padding:12px;border:1px solid #e5dfee;border-radius:10px;font:inherit;font-size:13px}.staff-actions{display:flex;gap:10px}.staff-actions button{margin-top:10px}nav button{padding:12px 8px}

#territory-map{height:340px;border-radius:14px;border:1px solid #e5dfee;margin-top:15px;background:#eeebf3;z-index:0}#territories input{width:100%;padding:13px;font-size:16px;margin-top:8px;border:1px solid #e5dfee;border-radius:11px}#territories p{font-size:12px;line-height:1.7;color:#8b779a}#territory-source{font-size:12px;color:#7954bd}nav{flex-wrap:wrap}nav button{min-width:90px}#territory-editor{padding-top:10px}.leaflet-container{font-family:Arial,sans-serif}

#tasks input,#tasks textarea{width:100%;padding:12px;font-size:16px;border:1px solid #e5dfee;border-radius:10px;margin-top:8px}#tasks textarea{min-height:85px}#tasks h3{font-size:15px;margin-top:23px}.material-row{padding:13px;border:1px solid #e5dfee;border-radius:12px;margin:12px 0;background:#faf8fd}.material-row select{margin-top:0}.material-row .small-button{margin-top:10px}#task-status,#active-task-details p,#submitted-summary p{font-size:12px;color:#8b779a;line-height:1.7}#active-task-map{height:300px;border-radius:12px;margin-top:15px;z-index:0}#task-create{padding-bottom:20px;border-bottom:1px solid #e5dfee}

#submitted-map{height:340px;border-radius:12px;z-index:0}.photo-map-marker{background:#7954d7;border:2px solid white;border-radius:50%;color:white;text-align:center;line-height:26px;font-weight:bold;box-shadow:0 2px 6px #0004}.map-photo-popup{min-width:180px}.map-photo-popup img{display:block;width:100%;max-height:260px;object-fit:contain;margin-top:10px}.map-photo-popup button{font-size:12px;padding:10px}.map-photo-popup p{font-size:11px}

.review-result{border-radius:12px;padding:14px;margin:14px 0;background:#f1edf9;border:1px solid #ded5f0}.review-result.accepted{background:#edf8f1;border-color:#b5dfc4}.review-result.rejected{background:#fff1ef;border-color:#f0bfb6}.review-result p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;font-size:13px}.review-result small{display:block;font-size:11px;color:#756980}#review-reason{width:100%;min-height:120px;padding:12px;font:inherit;border:1px solid #d8cee8;border-radius:10px}#review-dialog-error{color:#99433d;font-size:13px}#review-notice-content h3{font-size:15px}

body[data-mode=leader] main,body[data-mode=admin] main{max-width:1050px}.intro{padding:26px 0 22px}body[data-mode=leader] .intro h1,body[data-mode=admin] .intro h1{max-width:720px;font-size:36px}body[data-mode=leader] .intro-label{color:#55406e}.role-switcher{background:#fff;border:1px solid #e0d8eb;border-radius:18px;padding:16px 20px;margin-bottom:16px;display:grid;grid-template-columns:240px 1fr;column-gap:24px;align-items:center}.role-switcher label{margin:0;font-size:11px;font-weight:bold}.role-switcher select{margin-top:7px;padding:10px}.role-switcher p{font-size:13px;color:#6d5a80;margin:4px 0}.role-switcher small{grid-column:2;font-size:10px;color:#9b8aa8;margin-top:-10px}#shell-status:empty{display:none}#shell-status{font-size:12px;color:#985c46}#workspace-nav{position:sticky;top:8px;z-index:5;border:1px solid #e1daeb;box-shadow:0 4px 20px #33214508;flex-wrap:wrap}#workspace-nav button{min-width:85px;font-size:12px}.home-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:24px 0 20px}.home-heading h2{font-size:23px;margin-top:10px}.home-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.home-stat{background:#fff;border:1px solid #e7e0ef;border-radius:18px;padding:20px}.home-stat b{display:block;font-size:32px;color:#7954d7;line-height:1.2}.home-stat span{display:block;font-size:12px;color:#8d7e9b;margin-top:9px}.home-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:24px}.home-action{display:block;width:100%;text-align:left;border-radius:16px;border:1px solid #e7e0ef;background:#fff;padding:20px;color:#322841;transition:border-color .15s}.home-action:hover{border-color:#a28aca}.home-action strong{display:block;font-size:15px}.home-action span{display:block;font-size:12px;color:#95849f;line-height:1.6;margin-top:9px}.home-action strong:after{content:' ↗';color:#9a7dcd}.home-action+ .home-action{margin-top:0}#home-next{display:grid;gap:12px;margin-top:15px}#home-next .home-action{background:#faf8fd;padding:15px}#home-people-text{font-size:13px;color:#8a7996;line-height:1.8}#task-team-caption{text-align:left;margin-bottom:20px}#review-filter-group{max-width:360px;margin-bottom:18px}body[data-mode=leader] #task-create,body[data-mode=admin] #task-create{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}#task-create>h3,#task-create>label,#task-create>textarea,#task-create>#task-material-rows,#task-create>button,#task-create>.hint{grid-column:1/-1}#task-create>select,#task-create>input{grid-column:1/-1}body[data-mode=promoter] #profile-pane .hint{font-size:11px}#review-dialog,#review-notice{border:0;border-radius:22px;padding:24px;width:calc(100% - 28px);max-width:480px;max-height:calc(100dvh - 40px);overflow:auto;color:#282437}#review-dialog::backdrop,#review-notice::backdrop{background:#21152e88;backdrop-filter:blur(4px)}
@media(min-width:760px){body[data-mode=leader] #task-material-rows,body[data-mode=admin] #task-material-rows{display:grid;grid-template-columns:1fr 1fr;gap:12px}#task-create .material-row{margin:0}#task-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#task-list .staff-card{margin:0}#staff-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#profile-pane{max-width:600px;margin:auto}#submitted-report{max-width:820px;margin:auto}}
@media(max-width:600px){.role-switcher{grid-template-columns:1fr;padding:16px}.role-switcher p{margin-top:12px}.role-switcher small{grid-column:1;margin-top:4px}.home-stats{gap:8px}.home-stat{padding:15px 10px}.home-stat b{font-size:27px}.home-stat span{font-size:10px}.home-actions{grid-template-columns:1fr;gap:10px}.home-action{padding:17px}#workspace-nav button{min-width:72px;padding:10px 7px;font-size:11px}.home-heading h2{font-size:20px}body[data-mode=leader] .intro h1,body[data-mode=admin] .intro h1{font-size:31px}}

.source-warning{background:#fff4de;border:1px solid #ecd29a;color:#856221!important;border-radius:10px;padding:12px;font-size:12px;line-height:1.6}.bot-notice{font-size:12px;color:#78618c;background:#f6f2fb;padding:10px 14px;border-radius:10px;margin:10px 0}.bot-notice p{margin:0 0 6px}#bot-settings{margin-top:24px;border-top:1px solid #eee5f5;padding-top:14px}#bot-settings p{font-size:12px;line-height:1.6;color:#8c789b}#task-area-search,#territory-search{width:100%;font:inherit;padding:12px;border:1px solid #e5dfee;border-radius:10px;margin-top:8px}

header{flex-wrap:wrap;gap:10px}#browser-cabinet{margin-left:auto;background:#ece5f7;color:#7954bd;font-size:11px}#browser-dialog{border:0;border-radius:22px;padding:24px;width:calc(100% - 28px);max-width:480px;max-height:calc(100dvh - 40px);overflow:auto;color:#282437}#browser-dialog::backdrop{background:#21152e88;backdrop-filter:blur(4px)}#browser-dialog>p{font-size:13px;line-height:1.7;color:#8b779a}#office-url{width:100%;padding:12px;font-size:12px;border:1px solid #ded5e9;border-radius:10px;margin-top:8px}#office-code{display:block;text-align:center;padding:16px;margin-top:18px;font-size:21px;letter-spacing:2px;background:#f0eafa;border-radius:12px;font-weight:bold;overflow-wrap:anywhere}#office-denied p{font-size:13px;line-height:1.7}@media(max-width:450px){#browser-cabinet{font-size:10px;padding:8px}.brand{font-size:17px}.connection{font-size:10px;padding:7px}}

#assignment-map-panel{grid-column:1/-1;min-width:0;margin:18px 0 8px;border:1px solid #e3dbea;border-radius:15px;padding:16px;background:#faf9fc}#assignment-map-panel h3{margin:0;font-size:14px}#assignment-map-panel .sectiontitle{margin-bottom:12px;gap:12px}#assignment-map{height:420px;border-radius:12px;z-index:0;background:#eceaf1}#assignment-map-count{white-space:nowrap}#assignment-map-selection{font-size:13px;color:#7954bd;font-weight:bold;line-height:1.6}.assignment-map-tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.assignment-map-tools button{padding:10px 12px}#assignment-map .leaflet-interactive:focus{outline:3px solid #7954d7}@media(max-width:600px){#assignment-map{height:340px}#assignment-map-panel{padding:12px}#assignment-map-panel .sectiontitle{display:block}#assignment-map-count{display:block;margin-top:6px}}

.danger-button{color:#a34343;background:#fff0ef}#territory-delete-dialog{border:0;border-radius:22px;padding:24px;width:calc(100% - 28px);max-width:460px;max-height:calc(100dvh - 40px);overflow:auto;color:#282437}#territory-delete-dialog::backdrop{background:#21152e88;backdrop-filter:blur(4px)}#territory-delete-dialog p{font-size:13px;line-height:1.7;color:#897294}#territory-delete-error{color:#a34343!important}#confirm-territory-delete{background:#a74d4d}
