*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Arial,Helvetica,sans-serif;color:#1b1d20;background:#f5f6f7}
button,input,select{font:inherit}.hidden{display:none!important}.center-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);background:#fff;border:1px solid #e3e5e8;border-radius:16px;padding:30px;box-shadow:0 16px 50px rgba(0,0,0,.07)}
.brand-mark{font-weight:900;letter-spacing:-1px;font-size:24px;color:#a81d29}.login-card h1{margin:8px 0 4px;font-size:26px}.muted{color:#737b87;font-size:13px;line-height:1.5}.login-card label,.event-card label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;margin-top:16px}
input,select{height:42px;border:1px solid #d8dce1;border-radius:9px;background:#fff;padding:0 11px;color:#1b1d20;outline:none}input:focus,select:focus{border-color:#a81d29;box-shadow:0 0 0 3px rgba(168,29,41,.08)}
.primary,.ghost,.delay-presets button{border-radius:9px;cursor:pointer}.primary{margin-top:20px;min-height:42px;padding:0 16px;border:0;background:#a81d29;color:#fff;font-weight:800}.primary:disabled{opacity:.6;cursor:default}.ghost{height:36px;padding:0 12px;border:1px solid #d8dce1;background:#fff;color:#4b5563}.error{color:#b42318;font-size:12px;margin-top:10px;min-height:16px}
.app{min-height:100vh;display:grid;grid-template-rows:66px 1fr}.app>header{background:#fff;border-bottom:1px solid #e3e5e8;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.product-name{font-size:11px;color:#7b8490;margin-top:1px}.header-actions{display:flex;align-items:center;gap:12px;font-size:13px}
.app>main{min-height:0;display:grid;grid-template-columns:270px 1fr}.app aside{background:#fff;border-right:1px solid #e3e5e8;padding:20px;min-height:calc(100vh - 66px)}.section-title,.eyebrow{font-size:10px;font-weight:900;letter-spacing:.1em;color:#7b8490}
.event-row{width:100%;text-align:left;border:0;background:transparent;border-radius:9px;padding:11px 10px;margin-top:6px;cursor:pointer}.event-row:hover{background:#f6f7f8}.event-row.active{background:#f3e8ea;color:#8e1722}.event-row strong{display:block;font-size:13px}.event-row span{display:block;font-size:11px;color:#8a919b;margin-top:3px}
.content{padding:28px;overflow:auto}.empty-state{display:grid;place-items:center;min-height:60vh;color:#8a919b}.event-card{max-width:860px;background:#fff;border:1px solid #e3e5e8;border-radius:16px;padding:24px;box-shadow:0 8px 32px rgba(0,0,0,.035)}.event-card-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.event-card h2{margin:6px 0 2px;font-size:24px}.save-state{font-size:12px;color:#15803d;min-height:18px}
.grid{display:grid;gap:16px}.grid.two{grid-template-columns:1fr 1fr}.toggle-field{justify-content:flex-end}.toggle-field input{width:22px;height:22px;accent-color:#a81d29}
.delay-card{margin-top:24px;border:1px solid #e3e5e8;background:#fafafa;border-radius:12px;padding:18px}.delay-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.delay-presets button{height:34px;padding:0 11px;border:1px solid #d8dce1;background:#fff;color:#4b5563;font-size:12px}.delay-presets button.active{background:#a81d29;border-color:#a81d29;color:#fff;font-weight:800}.custom-delay{max-width:220px}.input-suffix{display:flex;align-items:center}.input-suffix input{border-radius:9px 0 0 9px;width:130px}.input-suffix span{height:42px;display:flex;align-items:center;border:1px solid #d8dce1;border-left:0;border-radius:0 9px 9px 0;background:#f1f2f4;padding:0 10px;color:#667085;font-weight:400}.delay-summary{margin-top:12px;font-size:13px;font-weight:800;color:#344054}.actions{display:flex;justify-content:flex-end;margin-top:8px}
@media(max-width:760px){.app>main{grid-template-columns:1fr}.app aside{min-height:auto;border-right:0;border-bottom:1px solid #e3e5e8;padding:12px;display:flex;gap:8px;overflow-x:auto}.section-title{display:none}.event-row{min-width:180px;margin-top:0}.content{padding:14px}.grid.two{grid-template-columns:1fr}.event-card{padding:18px}.header-actions #adminName{display:none}}

.tabs{display:flex;gap:4px;margin:22px 0 18px;border-bottom:1px solid #e3e5e8}.tab-button{border:0;background:transparent;color:#667085;font-weight:800;font-size:13px;padding:10px 14px;border-bottom:2px solid transparent;cursor:pointer}.tab-button.active{color:#a81d29;border-bottom-color:#a81d29}
.participants-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.participant-filters{display:flex;gap:8px}.participant-filters input{width:190px}.participant-filters select{width:180px}
.warning{margin:14px 0;padding:11px 13px;border:1px solid #f2c879;background:#fff8e7;color:#8a5b00;border-radius:9px;font-size:12px}
.admin-tools{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.tool-card,.interval-card{border:1px solid #e3e5e8;background:#fafafa;border-radius:12px;padding:15px}.tool-title{font-size:13px;font-weight:900;color:#344054;margin-bottom:10px}
.inline-fields{display:flex;gap:8px}.inline-fields input{min-width:0;flex:1}.inline-fields select{min-width:150px}.secondary{min-height:38px;padding:0 13px;border:1px solid #d3d8de;background:#fff;color:#344054;border-radius:8px;font-weight:800;font-size:12px;cursor:pointer}.secondary:hover{background:#f5f6f7}.secondary:disabled{opacity:.55;cursor:default}
.interval-card{margin-top:12px}.interval-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr 1.5fr auto;gap:10px;align-items:end}.interval-grid label{margin-top:0}.checkbox-line{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;font-weight:600!important}.checkbox-line input{width:18px;height:18px;accent-color:#a81d29}.checkbox-line.compact{justify-content:flex-start;min-height:42px;margin-top:16px!important}
.participants-summary{margin:18px 0 9px;color:#667085;font-size:12px;font-weight:700}.participants-list{display:flex;flex-direction:column;gap:10px}.participant-editor{border:1px solid #e3e5e8;border-radius:12px;padding:14px;background:#fff}.participant-editor-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.participant-editor-head strong{font-size:14px}.participant-editor-head span{font-size:11px;color:#98a2b3;margin-left:7px}.participant-grid{display:grid;grid-template-columns:1.25fr 1fr 1.25fr 1.5fr;gap:10px}.participant-grid label{margin-top:0;font-size:11px}.participant-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.device-note{font-size:10px;color:#98a2b3}.row-state{font-size:11px;max-width:45%;text-align:right}.row-state.ok{color:#15803d}.row-state.bad{color:#b42318}.participant-actions .secondary{margin-left:auto}
@media(max-width:1100px){.interval-grid{grid-template-columns:1fr 1fr 1fr}.participant-grid{grid-template-columns:1fr 1fr}.admin-tools{grid-template-columns:1fr}}
@media(max-width:760px){.participants-head{align-items:stretch;flex-direction:column}.participant-filters{flex-direction:column}.participant-filters input,.participant-filters select{width:100%}.inline-fields{flex-direction:column}.interval-grid,.participant-grid{grid-template-columns:1fr}.participant-actions{align-items:flex-start;flex-direction:column}.participant-actions .secondary{margin-left:0;width:100%}.row-state{max-width:100%}}

.public-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.settings-section{margin-top:14px;padding:16px;border:1px solid #e3e5e8;border-radius:12px;background:#fafafa}.settings-section textarea{width:100%;min-height:82px;resize:vertical;border:1px solid #d8dce1;border-radius:9px;background:#fff;padding:10px 11px;color:#1b1d20;outline:none;font:inherit}.settings-section textarea:focus{border-color:#a81d29;box-shadow:0 0 0 3px rgba(168,29,41,.08)}.settings-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.setting-check{margin-top:16px!important}
@media(max-width:980px){.settings-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.settings-grid,.check-grid{grid-template-columns:1fr}.public-settings-head{flex-direction:column}}

.map-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.map-toolbar{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 8px}.map-toolbar .primary.small{margin-top:0;min-height:38px}.active-tool{background:#f3e8ea!important;border-color:#a81d29!important;color:#a81d29!important}.file-button{display:inline-flex!important;align-items:center!important;justify-content:center;min-height:38px;padding:0 13px;border:1px solid #d3d8de;background:#fff;color:#344054;border-radius:8px;font-weight:800!important;font-size:12px!important;cursor:pointer;margin-top:0!important}.file-button input{display:none}.map-hint{font-size:11px;color:#667085;margin:6px 0 10px}#courseMap{height:480px;border:1px solid #d8dce1;border-radius:12px;overflow:hidden;background:#e9edf0}.map-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.map-panel{border:1px solid #e3e5e8;background:#fafafa;border-radius:12px;padding:14px}.map-item-list{display:flex;flex-direction:column;gap:7px;margin-top:9px}.map-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e3e5e8;background:#fff;border-radius:9px;padding:9px 10px}.map-item strong{display:block;font-size:12px}.map-item span{display:block;font-size:10px;color:#7b8490;margin-top:2px}.map-item-actions{display:flex;gap:6px;align-items:center}.danger-small{min-height:30px;padding:0 9px;border:1px solid #efc6c6;background:#fff;color:#b42318;border-radius:7px;font-weight:800;font-size:10px;cursor:pointer}.custom-upload{display:grid;grid-template-columns:1fr 1.2fr auto;gap:7px}.mini{font-size:10px!important}.custom-map-main{min-width:0}.custom-map-main strong,.custom-map-main span{overflow-wrap:anywhere}.status-ready{color:#15803d!important}.status-processing{color:#9a6700!important}.status-error,.map-error{color:#b42318!important}.georef-workbench{margin-top:18px;padding:18px;border:1px solid #d7bcc0;border-radius:14px;background:#fff}.georef-title-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.georef-title-row h3{margin:5px 0 0}.georef-instructions{margin:12px 0;padding:10px 12px;background:#f8f1f2;border-radius:8px;color:#6f1d25;font-size:12px;font-weight:700}.georef-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-title{font-size:11px;font-weight:900;color:#667085;margin-bottom:6px}.georef-image-wrap{position:relative;display:grid;place-items:center;height:430px;overflow:auto;background:#202327;border-radius:10px}.georef-image-wrap img{display:block;max-width:100%;max-height:100%;cursor:crosshair}.image-gcp{position:absolute;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#a81d29;color:#fff;border:2px solid #fff;font-size:10px;font-weight:900;pointer-events:none;box-shadow:0 2px 6px rgba(0,0,0,.3)}#georefMap{height:430px;border-radius:10px;overflow:hidden;border:1px solid #d8dce1}.georef-bottom{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;margin-top:14px}.gcp-list{display:flex;flex-direction:column;gap:6px}.gcp-row{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#fafafa;border:1px solid #e3e5e8;border-radius:8px;padding:7px 9px;font-size:10px}.georef-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end}.georef-settings label{margin-top:0}.georef-settings .primary{grid-column:1/-1}.admin-annotation-icon{background:transparent!important;border:0!important}.admin-annotation-icon span{display:inline-block;white-space:nowrap;background:#fff;border:1px solid #e0c4c7;border-radius:7px;padding:4px 7px;color:#8e1722;font-size:11px;font-weight:800;box-shadow:0 2px 8px rgba(0,0,0,.12)}
@media(max-width:1050px){.map-editor-grid,.georef-layout,.georef-bottom{grid-template-columns:1fr}.custom-upload{grid-template-columns:1fr}.georef-image-wrap,#georefMap{height:360px}}
@media(max-width:760px){#courseMap{height:390px}.map-item{align-items:flex-start;flex-direction:column}.map-item-actions{width:100%}.georef-settings{grid-template-columns:1fr}.georef-settings .primary{grid-column:auto}}
