:root{--lime:#b5a28a;--bronze:#b5a28a;--red:#e46956;--blue:#70a8bc}
.brand-logo{position:relative;z-index:1;width:168px;height:136px;object-fit:contain;margin-top:-36px}
.wordmark img{width:58px;height:49px;object-fit:contain}
.login-brand{background:radial-gradient(circle at 55% 40%,#302d28 0,transparent 48%),linear-gradient(145deg,#111212,#1b1917)}
.map-viewport{touch-action:none;user-select:none}
.map-canvas{width:8192px;height:8192px;backface-visibility:hidden}
.map-canvas{transition:none!important}
.map-canvas img{filter:none;image-rendering:auto}.map-tiles{position:absolute;inset:0;width:8192px;height:8192px;display:grid;grid-template-columns:repeat(4,2048px);grid-template-rows:repeat(4,2048px);background:#0b1110}.map-tiles img{display:block;width:2048px!important;height:2048px;object-fit:cover;user-select:none;-webkit-user-drag:none}
.map-pin{width:34px;height:42px;color:#c8b79f;line-height:1;transform:translate(-50%,-100%) scale(var(--pin-compensation,1));transform-origin:50% 100%}
.map-pin span{display:grid;place-items:center;width:30px;height:30px;border:2px solid currentColor;border-radius:50%;background:#171918e8;font:700 13px Inter;overflow:hidden}
.map-pin:after{content:"";position:absolute;left:13px;bottom:3px;width:8px;height:8px;background:currentColor;transform:rotate(45deg);z-index:-1}
.map-pin.risk,.map-pin.danger{color:var(--red)}
.map-pin.hq{color:var(--lime)}
.map-pin.garage{color:var(--blue)}
.map-pin.stash{color:#d6ab60}
.map-pin.lookout{color:#c6a4d8}
.map-pin.active{transform:translate(-50%,-100%) scale(calc(var(--pin-compensation,1)*1.22))}
.map-pin img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%;filter:none}
.map-pin:has(img){filter:none}.map-pin:has(img):after{display:none}
.preset-admin{margin-top:42px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}.section-head>div>p:last-child{color:var(--muted);margin-bottom:0}.preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.preset-card{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;border:1px solid var(--line);background:#171b1a;padding:14px}.preset-preview{width:38px;height:38px;border:2px solid currentColor;border-radius:50%;display:grid;place-items:center;font-weight:700;overflow:hidden}.preset-preview img{width:100%;height:100%;object-fit:cover}.preset-card strong{font-size:13px}.preset-card small{display:block;color:var(--muted);margin-top:3px}.preset-delete{border:0;background:transparent;color:var(--red);font-size:18px}.preset-delete:disabled{opacity:.25;cursor:not-allowed}.pin-icon{overflow:hidden}.pin-icon img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.detail-gallery{display:grid;gap:10px;margin-top:20px}.detail-gallery img{display:block;width:100%;height:auto;max-height:360px;object-fit:cover;border:1px solid var(--line);background:#202624}.detail-panel>.detail-image{display:none}
.login-view{display:grid;grid-template-rows:minmax(0,1fr) auto;background:#0c0d0d}.login-brand{padding:5vh 6vw 3vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;border:0;background:radial-gradient(circle at 50% 44%,#29251f 0,transparent 33%),#0c0d0d;text-align:center}.login-brand:after{mask-image:radial-gradient(circle at center,#000,transparent 68%)}.login-brand .brand-logo{width:min(360px,38vh);height:min(290px,31vh);margin:0 0 -14px}.login-brand h1{font-size:clamp(70px,10vw,150px);line-height:.82}.login-brand .brand-copy{margin:20px 0 0;text-transform:uppercase;font:600 12px 'Barlow Condensed';letter-spacing:3px;color:var(--bronze)}.login-brand .system-status{left:28px;bottom:24px;z-index:2}.login-panel{position:relative;z-index:3;display:block;padding:22px 6vw 26px;border-top:1px solid var(--line);background:#131514}.auth-form{width:100%;display:grid;grid-template-columns:minmax(190px,.65fr) minmax(190px,1fr) minmax(190px,1fr) 170px;align-items:end;gap:18px}.auth-heading{margin:0}.auth-heading h2{font-size:27px}.auth-heading p:last-child,.demo-note{display:none}.auth-form label{margin:0}.auth-form>.primary-btn{width:auto;margin:0;height:47px}.auth-form .form-error{position:absolute;bottom:5px;left:calc(6vw + 25%)}
@media(max-width:850px){.login-view{display:grid}.login-brand{display:flex}.login-brand .brand-logo{width:210px;height:170px}.login-brand h1{font-size:64px}.login-panel{padding:24px}.auth-form{display:grid;grid-template-columns:1fr;gap:12px;max-width:420px;margin:auto}.auth-form>.primary-btn{width:100%}.auth-heading{margin-bottom:8px}.login-brand .system-status{display:none}}

/* Only actual pins intercept the pointer; empty map space remains draggable. */
.map-pins{pointer-events:none}
.map-pin{pointer-events:auto;cursor:pointer}

@media(min-width:851px){
  .login-view{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(390px,.65fr);grid-template-rows:1fr}
  .login-brand{min-width:0;padding:6vh 5vw;justify-content:center;align-items:center;border-right:1px solid var(--line)}
  .login-brand .brand-logo{width:min(390px,34vw);height:min(315px,36vh);margin:0 0 -10px}
  .login-brand h1{font-size:clamp(78px,9vw,145px)}
  .login-panel{position:relative;display:grid;place-items:center;padding:48px;border:0;background:#131514}
  .auth-form{width:min(390px,100%);display:block}
  .auth-heading{margin-bottom:34px}
  .auth-heading h2{font-size:34px}
  .auth-heading p:last-child{display:block}
  .auth-form label{display:grid;margin:18px 0}
  .auth-form>.primary-btn{width:100%;height:auto;margin-top:24px}
  .auth-form .form-error{position:static}
  .demo-note{display:block}
}
.remember-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px!important;width:max-content;margin:4px 0 0!important;color:var(--muted);font-weight:500;cursor:pointer}.remember-row input{appearance:none;width:18px;height:18px;margin:0;padding:0;border:1px solid #555b57;border-radius:2px;background:#0e1110;display:grid;place-items:center}.remember-row input:checked{background:var(--lime);border-color:var(--lime)}.remember-row input:checked:after{content:"✓";color:#111;font-size:13px;font-weight:800}.remember-row span{font-size:13px}
.heading-actions{display:flex;gap:7px}.category-list{display:grid;gap:7px;max-height:260px;overflow:auto;margin:22px 0}.category-item{display:grid;grid-template-columns:12px 1fr auto;gap:11px;align-items:center;padding:11px 12px;background:#111413;border:1px solid var(--line)}.category-swatch{width:10px;height:10px;border-radius:50%}.category-item button{border:0;background:transparent;color:var(--red);font-size:18px}.category-create{display:grid;grid-template-columns:1fr 100px;gap:12px}.category-create label{margin:0}.pin-item .category-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px}.category-filter-wrap{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px}.category-filter-wrap label{margin:0;color:var(--muted);font:700 10px 'Barlow Condensed';letter-spacing:1px;text-transform:uppercase}.category-filter-wrap select{padding:8px 30px 8px 10px;font-size:12px}

*{scrollbar-width:thin;scrollbar-color:var(--bronze) #171a19}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:#151817;border-left:1px solid #292e2c}*::-webkit-scrollbar-thumb{background:linear-gradient(#c2b19a,#8f7d68);border:2px solid #151817;border-radius:2px}*::-webkit-scrollbar-thumb:hover{background:#d1c1ac}
.empty-filter{padding:30px 20px;color:var(--muted);text-align:center}.empty-filter strong{display:block;color:var(--text);font-size:13px;margin-bottom:7px}.empty-filter span{font-size:12px;line-height:1.5}

/* Meeting minutes */
.meetings-view{height:calc(100vh - var(--header));overflow:auto;background:#101312}.meetings-head{display:flex;align-items:end;justify-content:space-between;padding:38px max(28px,5vw) 28px;border-bottom:1px solid var(--line)}.meetings-head h1{font-size:50px}.meetings-head>div>p:last-child{color:var(--muted);margin-bottom:0}.meetings-layout{display:grid;grid-template-columns:330px minmax(0,1fr);min-height:calc(100vh - var(--header) - 153px)}.meeting-index{border-right:1px solid var(--line);background:#141716}.index-label{display:flex;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);color:var(--muted);font:700 10px 'Barlow Condensed';letter-spacing:1px;text-transform:uppercase}.index-label strong{color:var(--bronze)}.meeting-list{display:grid}.meeting-list-item{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:18px 20px;text-align:left}.meeting-list-item:hover,.meeting-list-item.active{background:#202321}.meeting-list-item.active{box-shadow:inset 3px 0 var(--bronze)}.meeting-list-item time{display:block;color:var(--bronze);font:700 10px 'Barlow Condensed';letter-spacing:1px;text-transform:uppercase}.meeting-list-item strong{display:block;margin:7px 0;font-size:14px}.meeting-list-item small{color:var(--muted)}.meeting-detail{padding:40px max(30px,6vw);min-width:0}.meeting-empty{height:100%;display:grid;place-content:center;text-align:center;color:var(--muted)}.meeting-empty img{width:120px;height:95px;object-fit:contain;margin:auto;opacity:.28}.meeting-empty h2{color:var(--text);margin-top:14px}.minutes-header{padding-bottom:24px;border-bottom:1px solid var(--line)}.minutes-header time{color:var(--bronze);font:700 11px 'Barlow Condensed';letter-spacing:1px;text-transform:uppercase}.minutes-header h2{font-size:42px;margin:8px 0}.minutes-header p{color:var(--muted);font-size:13px}.minutes-attendance{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:28px 0;border-bottom:1px solid var(--line)}.minutes-section h3,.agenda-editor h3,.attendance-editor h3{margin:0;font:600 22px 'Barlow Condensed'}.minutes-section ul{list-style:none;margin:13px 0 0;padding:0;display:grid;gap:8px}.minutes-section li{padding:10px 12px;background:#171a19;border-left:2px solid var(--bronze);font-size:13px}.minutes-section.absent li{border-color:var(--red)}.minutes-section li small{display:block;color:var(--muted);margin-top:5px}.minutes-agenda{padding:30px 0}.minutes-agenda h3{font:600 24px 'Barlow Condensed'}.agenda-item{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.agenda-number{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--bronze);color:var(--bronze);font:700 13px 'Barlow Condensed'}.agenda-item p{margin:4px 0;color:#c4c7c3;line-height:1.65;white-space:pre-wrap}.meeting-dialog{width:min(900px,calc(100% - 30px));max-height:92vh;overflow:auto}.meeting-meta-fields{display:grid;grid-template-columns:1fr 190px;gap:14px}.attendance-editor,.agenda-editor{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.editor-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.editor-section-head p{margin:4px 0 0;font-size:12px}.add-member{display:flex;gap:7px}.add-member input{width:180px;padding:10px}.add-member button{padding:10px 13px}.attendance-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.attendance-column{border:1px solid var(--line);background:#111413}.column-title{display:flex;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line);font-size:12px;font-weight:700}.present .column-title strong{color:var(--bronze)}.absent .column-title strong{color:var(--red)}.member-dropzone{min-height:150px;padding:9px;display:grid;align-content:start;gap:7px}.member-dropzone.drag-over{background:#242622}.member-card{padding:10px 11px;background:#202321;border:1px solid #343936;cursor:grab}.member-card:active{cursor:grabbing}.member-main{display:flex;align-items:center;justify-content:space-between}.member-main strong{font-size:12px}.drag-handle{color:var(--muted);letter-spacing:2px}.absence-reason{margin-top:8px;padding:8px 9px;font-size:11px}.agenda-fields{display:grid;gap:9px}.agenda-field{display:grid;grid-template-columns:30px 1fr 34px;align-items:start;gap:8px}.agenda-field>span{display:grid;place-items:center;height:42px;color:var(--bronze);font:700 13px 'Barlow Condensed';border:1px solid var(--line)}.agenda-field textarea{margin:0;resize:vertical}.remove-agenda{height:42px;border:1px solid var(--line);background:#211817;color:var(--red);font-size:18px}.meeting-zero{padding:35px 20px;text-align:center;color:var(--muted);font-size:13px}
@media(max-width:850px){.meetings-head{padding:24px 18px}.meetings-head h1{font-size:38px}.meetings-layout{grid-template-columns:1fr}.meeting-index{border-right:0}.meeting-detail{padding:25px 18px}.meeting-meta-fields,.attendance-columns,.minutes-attendance{grid-template-columns:1fr}.editor-section-head{align-items:start;flex-direction:column}.add-member{width:100%}.add-member input{width:100%}}
.minutes-header{display:flex;align-items:start;justify-content:space-between;gap:24px}.delete-meeting-btn{flex:none;border:1px solid #694039;background:#281a18;color:#f08a7b;padding:10px 13px;border-radius:3px;font-weight:700;font-size:12px}.delete-meeting-btn:hover{background:#38201d}
.minutes-actions{display:flex;gap:8px;flex:none}.minutes-actions .ghost-btn{padding:10px 13px;font-size:12px}.agenda-item h4{margin:0 0 9px;font-size:20px;font-weight:800;color:var(--text)}.agenda-field-content{display:grid;gap:7px}.agenda-title{font-size:16px;font-weight:800;background:#151817}.agenda-field-content textarea{margin:0}.agenda-field{grid-template-columns:30px minmax(0,1fr) 34px}
@media(max-width:600px){.minutes-header{display:grid}.minutes-actions{width:100%}.minutes-actions button{flex:1}}
.user-actions{display:flex;justify-content:flex-end;gap:6px}.edit-user{border:1px solid var(--line);background:#242826;color:var(--text);padding:7px 10px;border-radius:3px;font-size:11px}.edit-user:hover{border-color:var(--bronze)}.delete-user{padding:7px 8px}

/* Personal profile */
.profile-trigger{position:relative;width:42px;height:42px;padding:0;border:1px solid #514a40;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#2b2823;color:var(--bronze);font-weight:800}.profile-trigger img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.profile-trigger span{display:grid;place-items:center}.profile-trigger:hover{border-color:var(--bronze)}.profile-view{height:calc(100vh - var(--header));overflow:auto;background:#101312}.profile-head{display:flex;align-items:end;justify-content:space-between;padding:38px max(28px,7vw) 28px;border-bottom:1px solid var(--line)}.profile-head h1{font-size:50px}.profile-head>div>p:last-child{color:var(--muted);margin-bottom:0}.danger-outline-btn{border:1px solid #66403a;background:transparent;color:#ed897b;padding:11px 15px;border-radius:3px;font-weight:700}.danger-outline-btn:hover{background:#281a18}.profile-content{width:min(1050px,calc(100% - 40px));margin:0 auto;padding:34px 0 60px}.profile-identity{display:flex;align-items:center;gap:22px;padding-bottom:30px}.large-avatar{position:relative;width:104px;height:104px;border:1px solid #554c41;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#292621;color:var(--bronze);font:700 40px 'Barlow Condensed'}.large-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.large-avatar span{display:grid;place-items:center}.profile-identity h2{font-size:36px}.profile-identity p{margin:5px 0 10px;color:var(--muted)}#profileRoleBadge{display:inline-block;padding:5px 8px;background:#2c2924;color:var(--bronze);font:700 10px 'Barlow Condensed';letter-spacing:1px;text-transform:uppercase}.profile-section{display:grid;grid-template-columns:300px minmax(0,1fr);gap:55px;padding:32px 0;border-top:1px solid var(--line)}.profile-section-copy h2{font-size:28px}.profile-section-copy>p:last-child{color:var(--muted);font-size:13px;line-height:1.55}.profile-section form{max-width:570px}.profile-section form label:first-child{margin-top:0}.profile-section form>.primary-btn{margin-top:8px}.profile-password-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-password-grid label{margin-top:0}
@media(max-width:700px){.profile-head{padding:24px 18px}.profile-head h1{font-size:38px}.profile-content{width:calc(100% - 36px)}.profile-section{grid-template-columns:1fr;gap:20px}.profile-password-grid{grid-template-columns:1fr}.profile-trigger{width:38px;height:38px}}
