@font-face{font-family:system-fallback;src:local('Arial')}
:root{--ink:#272727;--muted:#7a7a7a;--line:#e5e5e5;--bg:#f4f4f4;--green:#4a4a4a;--lime:#c7c7c7;--dark:#1f1f1f;--red:#a94539;--amber:#936e23}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',system-fallback,sans-serif;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #dedede;background:#fff;color:var(--ink);padding:9px 14px;border-radius:7px;font-weight:550;transition:background .15s,transform .15s}button:hover{background:#f0f0f0}button:disabled{cursor:not-allowed;opacity:.45}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a2a2a2;outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;line-height:1.2;letter-spacing:-1px;font-weight:650;margin-bottom:10px}h2{font-size:17px;line-height:1.4;font-weight:650;margin-bottom:5px;letter-spacing:-.3px}h3{font-size:16px}p{margin-bottom:10px}small{font-size:12px}strong{font-weight:600}a{color:inherit;text-decoration:none}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #dadada;border-radius:6px;background:white;color:var(--ink);min-height:42px}select[multiple]{min-height:115px}label{display:block;font-size:13px;font-weight:550;margin:18px 0}label input,label select,label textarea{display:block;margin-top:7px}label small{font-weight:400;color:var(--muted);display:block;margin-top:5px}input[type=checkbox]{width:18px;min-height:18px;margin:0;accent-color:var(--green)}.check-label{display:flex;gap:10px;align-items:center;margin-top:8px}textarea{resize:vertical}[v-cloak]{display:none}.muted{color:var(--muted)}.small{font-size:12px}.red{color:var(--red)!important}.grow{flex:1;min-width:0}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:#383838}.dark-button{background:var(--dark);color:#fff;border-color:var(--dark)}.dark-button:hover{background:#373737}.full{width:100%}.text-button{border:0;background:transparent;padding:4px;font-size:12px;color:var(--green);white-space:nowrap}.text-button:hover{background:#eeeeee}.icon-button{padding:5px 11px;font-size:18px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.7px;color:var(--green);display:block;margin-bottom:11px}.boot{display:grid;place-content:center;gap:10px;height:100vh;font-size:24px;letter-spacing:4px}.boot span{font-size:13px;letter-spacing:0;color:var(--muted)}
.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-intro{background:var(--dark);color:white;padding:12vh 10vw;display:flex;flex-direction:column;justify-content:center}.brandmark{width:36px;height:36px;border:1px solid #686868;border-radius:7px;display:grid;place-items:center;font-size:22px;font-weight:700;background:var(--lime);color:var(--dark)}.login-intro .brandmark{width:56px;height:56px;font-size:32px;margin-bottom:65px}.login-intro .eyebrow{color:#acacac}.login-intro h1{font-size:clamp(34px,4vw,57px);line-height:1.1;letter-spacing:-2px}.login-intro p{color:#aeaeae;font-size:16px;margin-top:20px;line-height:1.8}.intro-line{height:1px;background:#4a4a4a;margin:45px 0 25px}.login-intro small{letter-spacing:3px;color:#acacac;font-size:10px}.login-form{display:flex;align-items:center;justify-content:center;padding:40px}.login-form form{width:360px;max-width:100%}.login-form h2{font-size:28px;margin-bottom:12px}.login-form .primary{margin:10px 0 22px}.login-form form>small{display:block;text-align:center}
.shell{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.sidebar{background:var(--dark);color:#d6d6d6;display:flex;flex-direction:column;padding:30px 16px 18px;position:fixed;width:235px;height:100vh;z-index:10}.brand{display:flex;gap:11px;align-items:center;margin:0 10px 47px;font-size:22px;font-weight:650;letter-spacing:2px}.brand small{display:block;font-size:10px;letter-spacing:.2px;color:#8e8e8e;font-weight:400;margin-top:1px}.sidebar-label{font-size:9px;letter-spacing:1.6px;color:#8b8b8b;margin:0 12px 13px}nav{display:flex;flex-direction:column;gap:6px}nav button{display:flex;align-items:center;gap:11px;text-align:left;background:transparent;color:#b3b3b3;border:0;font-size:12px;font-weight:400;padding:13px 11px;line-height:1.4}nav button span{font-size:18px;width:21px}nav button:hover{background:#313131}nav button.selected{background:#3c3c3c;color:#e0e0e0}.sidebar-note{margin:auto 12px 25px;font-size:11px;color:#b4b4b4;padding-top:40px}.sidebar-note small{display:block;margin-top:4px;color:#8a8a8a;font-size:10px}.live-dot{display:inline-block;width:6px;height:6px;background:#a6a6a6;border-radius:50%;margin-right:8px}.user{display:flex;gap:9px;align-items:center;border-top:1px solid #383838;padding:20px 9px 0;font-size:12px}.avatar{background:#3f3f3f;color:#d0d0d0;border-radius:50%;width:33px;height:33px;display:grid;place-items:center}.user small{display:block;color:#8c8c8c;font-size:10px}.user button{margin-left:auto;background:transparent;color:#cccccc;border:0;font-size:21px;padding:0}.workspace{grid-column:2;min-width:0}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:#fafafa;font-size:12px}.crumb{color:#8c8c8c;margin-left:14px}.clock{font-variant-numeric:tabular-nums;font-weight:600}.clock small{font-weight:400;color:var(--muted);margin-left:8px;font-size:10px}.content{padding:35px 40px 0;max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.page-heading p{font-size:12px;margin:0}.heading-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.heading-actions button{font-size:12px}.date-control{display:flex;align-items:center;gap:8px;border:1px solid #dedede;border-radius:6px;background:white;padding:4px 8px;font-size:11px;color:var(--muted);margin:0}.date-control input{width:133px;border:0;padding:4px 0;min-height:30px;margin:0;font-size:12px}.subtle{background:transparent}.divider{margin:0 8px;color:#c6c6c6}.history-banner{background:#e5e5e5;color:#575757;padding:12px 18px;border-radius:6px;margin-bottom:18px;font-size:12px}.shift-card{background:#e8e8e8;border:1px solid #d8d8d8;border-radius:10px;padding:25px 26px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.shift-main{display:flex;gap:19px;align-items:center}.shift-icon{background:#d6d6d6;border:1px solid #c3c3c3;width:55px;height:55px;display:grid;place-items:center;font-size:27px;border-radius:50%}.shift-caption{font-size:12px;margin-bottom:6px;display:flex;gap:14px;align-items:center}.shift-card h2{font-size:22px;font-weight:600;letter-spacing:-.7px}.shift-card p{margin:0;color:#747474;font-size:11px}.shift-action{display:flex;flex-direction:column;gap:10px;text-align:right}.shift-action small{font-size:10px;color:#747474}.shift-action button{font-size:12px}.badge{display:inline-flex;align-items:center;padding:4px 7px;font-size:9px;font-weight:600;letter-spacing:.4px;border-radius:4px;white-space:nowrap}.badge.green{background:#e4e4e4;color:#4c4c4c}.shift-caption .badge.green{background:#d2d2d2}.badge.neutral{background:#ececec;color:#7e7e7e}.badge.amber{background:#f7edcc;color:#916a21}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:28px;border-bottom:1px solid var(--line);padding-bottom:25px;gap:18px}.stats>div{border-right:1px solid var(--line);padding:0 16px}.stats>div:first-child{padding-left:0}.stats>div:last-child{border:0}.stats span{font-size:9px;color:var(--muted);letter-spacing:1px;display:block;margin-bottom:8px}.stats strong{font-size:28px;line-height:1.2;font-weight:550}.stats small{font-size:10px;color:#959595;font-weight:400;margin-left:7px;white-space:nowrap}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 23px 19px}.panel-heading h2{font-size:16px}.panel-heading p{font-size:11px;color:var(--muted);margin:0}.count{font-size:10px;font-weight:500;background:#efefef;border-radius:4px;padding:3px 7px;color:#868686;margin-left:7px;vertical-align:middle}.panel-symbol{color:#828282;font-size:26px}.positions-panel{margin-bottom:24px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:normal}th{font-size:9px;letter-spacing:.9px;color:#8e8e8e;font-weight:500;background:#fafafa;padding:12px 22px;border-block:1px solid #ececec}td{padding:19px 22px;border-bottom:1px solid #ececec;font-size:12px;vertical-align:middle}tr:last-child td{border-bottom:0}td small{display:block;color:#969696;font-size:10px;line-height:1.8;margin-top:3px}td strong{font-size:12px;overflow-wrap:anywhere}.position-name{display:flex;gap:13px;align-items:center;min-width:150px}.sequence{color:#9c9c9c;font-size:11px;font-variant-numeric:tabular-nums}.equipment{display:flex;align-items:center;gap:6px;font-size:11px;margin:4px 0;white-space:nowrap}.equipment small{display:inline;margin:0;font-size:9px}.dot{display:inline-block;width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#c2c2c2}.dot.active{background:#828282}.dot.maintenance{background:#ccab58}.dot.inactive{background:#aeaeae}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.counter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;padding:0 23px 21px}.counter{background:#f5f5f5;border:1px solid #ececec;padding:15px;border-radius:6px}.counter>span{font-size:12px;color:#6e6e6e}.counter>div{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.counter strong{font-size:30px;line-height:1;font-weight:500;font-variant-numeric:tabular-nums}.counter button{border-radius:50%;font-size:20px;width:31px;height:31px;display:grid;place-content:center;padding:0;border-color:#d4d4d4;background:#e8e8e8;color:#626262}.panel-foot{border-top:1px solid #ececec;padding:13px 23px;font-size:10px;color:#949494}.covers{padding:0 23px 9px}.cover-row{display:flex;gap:13px;align-items:center;padding:15px 0;border-top:1px solid #ececec}.cover-symbol{width:35px;height:35px;background:#eeeeee;display:grid;place-items:center;font-size:19px;color:#8a8a8a;border-radius:6px}.cover-row strong{display:block;font-size:12px}.cover-row small{display:block;font-size:10px;color:#848484;margin-top:2px}.cover-row p{font-size:11px;color:#626262;margin:5px 0 0}.tasks{padding:0 23px 8px}.task{border-top:1px solid #ececec;display:flex;gap:11px;align-items:center;padding:17px 0}.task strong{font-size:11px;display:block}.task small{font-size:10px;display:block;color:#909090;margin-top:3px}.task-icon{border-radius:50%;width:27px;height:27px;flex-shrink:0;background:#eeeeee;color:#8d8d8d;display:grid;place-content:center}.task-icon.completed{background:#e4e4e4;color:#686868}.task-icon.overdue{background:#f9e7df;color:#b47258}.task button{font-size:10px;padding:5px 8px}.timeline{padding:0 23px 6px}.rotation{display:flex;gap:15px;padding:14px 0 19px;position:relative;border-top:1px solid #ececec}.timeline-dot{width:7px;height:7px;background:#d9bc69;border-radius:50%;margin-top:7px;flex-shrink:0}.timeline-dot.arrived{background:#7a7a7a}.rotation small{display:block;color:#909090;font-size:10px;line-height:1.8}.rotation .badge{margin-left:7px;font-size:8px;padding:1px 5px}.rotation p{font-size:12px;margin:6px 0}.arrival-button{font-size:11px;padding:6px 10px;margin-top:10px}.empty{text-align:center;padding:35px 22px;color:var(--muted)}.empty>span{display:block;font-size:26px;color:#ababab;margin-bottom:12px}.empty h3{color:#686868;margin:0 0 8px}.empty p{font-size:12px}.empty button{font-size:12px}.empty.compact{padding:25px;font-size:12px}.empty.compact p{margin:0}footer{display:flex;gap:18px;align-items:center;font-size:9px;color:#9a9a9a;letter-spacing:1px;padding:16px 0 25px}footer span{letter-spacing:0}footer span:last-child{margin-left:auto}details{border-top:1px solid #ececec;padding:10px 23px;color:#909090;font-size:10px}summary{cursor:pointer}.cover-history{font-size:11px;margin-top:12px}.cover-history small{display:block}.exception-note{background:#fff6e4;border:1px solid #efdfb9;color:#8a6a2e;padding:12px 18px;margin-bottom:20px;border-radius:6px;font-size:12px}.banner{padding:12px 16px;border-radius:6px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:12px}.banner button{padding:0;border:0;background:none;font-size:18px;color:inherit}.error{color:var(--red);background:#fbece7;padding:12px;border-radius:5px;font-size:12px}.success{color:#525252;background:#e8e8e8}.tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.tabs button{font-size:12px;border-color:transparent;background:transparent}.tabs button.active{background:white;border-color:var(--line);color:var(--green)}.tabs span{font-size:10px;margin-left:7px;color:#999999}.info-note{background:#ebebeb;padding:12px 16px;border-radius:6px;color:#767676;font-size:12px;margin-bottom:20px}.row-actions{white-space:nowrap}.row-actions button{font-size:11px;padding:5px 9px;margin-right:5px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1000px}.settings-panel{padding:25px}.settings-panel>p{font-size:12px}.settings-panel button{margin-top:8px}.modal-backdrop{position:fixed;inset:0;background:#161616b3;backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:480px;max-width:100%;max-height:90vh;overflow:auto;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:11px;box-shadow:0 20px 70px #0e0e0e40;padding:25px 28px}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:20px}.modal-heading h2{margin:0;font-size:20px}.modal-heading button{border:0;padding:0 6px;background:none;font-size:23px;color:#8c8c8c}.modal>form>p{font-size:12px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:20px;border-top:1px solid var(--line);margin-top:24px}
@media(min-width:1550px){.content{padding:40px 55px 0}.topbar{padding:0 55px}td{padding-block:23px}}
@media(max-width:1200px){.shell{grid-template-columns:200px 1fr}.sidebar{width:200px}.content{padding:28px 24px 0}.topbar{padding:0 24px}.page-heading{align-items:flex-start}.heading-actions{justify-content:flex-end}.stats small{display:block;margin:5px 0 0}td,th{padding-inline:15px}.dashboard-grid{gap:18px}.panel-heading{padding:20px 18px}.counter-grid,.covers,.tasks,.timeline{padding-inline:18px}}
@media(max-width:900px){.shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:12px 18px;flex-direction:row;align-items:center;gap:20px}.brand{margin:0;font-size:18px}.brandmark{width:31px;height:31px;font-size:19px}.brand small,.sidebar-label,.sidebar-note,.user{display:none}nav{flex-direction:row;margin-left:auto;gap:3px}nav button{padding:9px;font-size:0}nav button span{font-size:21px}nav button.selected{border-radius:6px}.topbar{height:52px;padding:0 20px;font-size:11px}.clock small{display:none}.content{padding:25px 20px 0}.page-heading{flex-direction:column;gap:16px}.heading-actions{justify-content:flex-start}.shift-card{padding:20px}.shift-card h2{font-size:19px}.dashboard-grid{gap:16px}.panel-heading{align-items:flex-start}.panel-heading h2{font-size:14px}.panel-heading p{font-size:10px}.positions-panel .panel-heading>.muted{display:none}.settings-grid{gap:16px}.login-intro{padding:60px 40px}.login-form{padding:30px}.login-intro .brandmark{margin-bottom:45px}}
@media(max-width:640px){h1{font-size:25px}.login-page{grid-template-columns:1fr}.login-intro{padding:35px}.login-intro .brandmark{margin-bottom:25px}.login-intro h1{font-size:34px}.login-intro p,.login-intro .intro-line,.login-intro>small{display:none}.login-form{padding:35px}.shell .content{padding:23px 15px 0}.topbar{padding:0 15px}.crumb{display:none}.stats{grid-template-columns:1fr 1fr;gap:20px;padding-bottom:20px}.stats>div{padding:0!important;border:0}.stats span{font-size:8px}.stats strong{font-size:25px}.stats small{font-size:9px}.shift-card{align-items:flex-start;flex-direction:column;padding:18px;gap:17px}.shift-icon{width:42px;height:42px;font-size:22px;flex-shrink:0}.shift-main{gap:12px}.shift-caption{font-size:11px;gap:10px}.shift-card h2{font-size:18px}.shift-action{flex-direction:row-reverse;align-items:center;width:100%;justify-content:space-between}.dashboard-grid,.settings-grid{grid-template-columns:1fr}.panel{border-radius:7px}.positions-panel td,.positions-panel th{white-space:nowrap}footer{flex-wrap:wrap;gap:6px 10px;font-size:8px}footer span:last-child{margin-left:0;flex-basis:100%}.modal{padding:20px}.modal-backdrop{padding:12px}.counter-grid{gap:10px}.tabs{gap:4px}.tabs button{font-size:11px;padding:8px}.clock{font-size:11px}.sidebar{padding:12px 15px;gap:8px}.brand{font-size:16px;gap:8px}}

.topbar-actions{display:flex;gap:12px;align-items:center}.mobile-logout{display:none}@media(max-width:900px){.mobile-logout{display:block;font-size:19px;border:0;background:transparent;padding:2px 7px}}

.panel-tools{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.counter-actions{display:flex;gap:7px}.counter-actions button{flex-shrink:0}.wide-modal{width:780px}.audit-table{margin-bottom:18px}.audit-table th,.audit-table td{padding:12px}.audit-table td{font-size:12px;min-width:105px}.audit-delta{font-size:19px;font-weight:600;font-variant-numeric:tabular-nums}.audit-delta.positive{color:var(--green)}@media(max-width:640px){.panel-tools{gap:5px}.counter{padding:12px}.counter-actions{gap:5px}.counter-actions button{width:29px;height:29px}}

/* Cycle cover operations */
.dashboard-grid:has(>.cover-operations)>section{grid-column:1/-1}.cover-workspace{display:grid;grid-template-columns:260px minmax(0,1fr);border-top:1px solid var(--line)}.mission-list{padding:18px;background:#f8f8f8;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.mission-card{text-align:left;padding:16px;border:1px solid var(--line);font-weight:400;display:flex;flex-direction:column;gap:9px;overflow-wrap:anywhere}.mission-card.selected{border-color:#848484;background:#eeeeee;box-shadow:inset 3px 0 #616161}.mission-card strong{font-size:14px}.mission-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.mission-card-top small{font-size:10px;color:var(--green)}.mission-progress-label{font-size:10px;color:var(--muted);margin-top:8px}progress{width:100%;height:5px;accent-color:var(--green);border:0;border-radius:5px;background:#e3e3e3}progress::-webkit-progress-bar{background:#e3e3e3;border-radius:5px}progress::-webkit-progress-value{background:var(--green);border-radius:5px}.mission-detail{padding:24px;min-width:0}.mission-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.mission-heading h3{margin:0;font-size:19px}.mission-heading .eyebrow{font-size:9px;margin-bottom:7px}.mission-heading p{margin:7px 0 0}.mission-resources{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#f4f4f4;padding:14px;border-radius:6px;font-size:12px;margin-bottom:22px}.mission-resources small,.route-timing small{display:block;font-size:8px;letter-spacing:.7px;color:#868686;margin-bottom:5px}.route-tabs{display:flex;gap:7px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--line)}.route-tabs button{font-size:11px;padding:8px 12px}.route-tabs button.selected{background:var(--dark);border-color:var(--dark);color:#fff}.route-tabs button.done:not(.selected){color:var(--green);background:#eeeeee}.route-timing{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;font-size:11px;padding:18px 0}.route-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 15px}.route-actions button{font-size:11px}.route-actions .text-button{margin-left:auto}.checkpoint-list{padding:0;margin:0 0 22px;list-style:none}.checkpoint-list li{display:flex;gap:12px;align-items:center;padding:13px 0;position:relative;border-top:1px solid #ececec;flex-wrap:wrap}.checkpoint-number{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;background:#ececec;border:1px solid #dcdcdc;border-radius:50%;color:#8c8c8c;font-size:11px}.checkpoint-list li.passed .checkpoint-number{background:#e0e0e0;color:var(--green);border-color:#cbcbcb}.checkpoint-list li.next .checkpoint-number{border:2px solid #b0984b;background:#fbf5df;color:#896d24}.checkpoint-list strong{display:block;font-size:12px}.checkpoint-list small{display:block;font-size:10px;color:#8c8c8c}.checkpoint-list button{font-size:10px;padding:7px 10px}.cover-map{width:100%;height:330px;border-radius:7px;background:#ececec}.cover-map-wrap{margin-bottom:24px}.map-caption{font-size:10px;margin:8px 0}.geocode-results{padding:15px;background:#eeeeee;border-radius:7px;margin:16px 0}.geocode-results>button{display:block;text-align:left;font-weight:400;width:100%;margin-top:8px;font-size:12px}.geocode-results button small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.replacement-list{padding-top:16px;border-top:1px solid var(--line);margin-bottom:20px}.replacement-list>h3{font-size:14px}.replacement-card{background:#f6f6f6;padding:14px;border-radius:6px;margin-top:10px;font-size:12px}.replacement-card p{margin:8px 0;line-height:1.8}.replacement-card small{font-size:10px}.replacement-card button{font-size:11px}.positive{color:var(--green)}.mission-comments,.mission-images{padding-top:20px;border-top:1px solid var(--line);margin-top:18px;font-size:12px}.mission-comments strong,.mission-images strong{font-size:12px}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.upload-label{display:flex;gap:10px;align-items:center;font-size:11px;color:var(--green);cursor:pointer;margin:0}.upload-label input{width:145px;font-size:10px;padding:0;border:0;background:transparent;min-height:0;margin:0}.upload-label input::file-selector-button{border:1px solid var(--line);background:#fff;color:var(--green);padding:7px;border-radius:5px;cursor:pointer}.cover-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.cover-image-grid figure{margin:0;min-width:0}.cover-image-grid img{width:100%;height:110px;object-fit:cover;border:1px solid var(--line);border-radius:5px}.cover-image-grid figcaption{font-size:10px;overflow-wrap:anywhere;color:var(--muted)}.cover-image-grid button{font-size:10px;display:block}.cancel-cover{margin-top:22px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.route-editor{border:1px solid #dedede;background:#fff;padding:18px 20px;border-radius:7px;margin:18px 0}.route-editor .mission-heading{margin-bottom:0}.route-editor h3{font-size:15px}.route-editor textarea{font-size:12px;line-height:1.8}.route-editor label{margin:14px 0}.route-editor .form-columns label{margin:8px 0}.cover-event-list{list-style:none;padding:0;margin:0}.cover-event-list li{border-bottom:1px solid var(--line);padding:14px 0;font-size:12px}.cover-event-list strong{display:block;margin:5px 0}.cover-event-list small{font-size:10px}.cover-event-list p{margin:5px 0}.cover-operations .empty h3{font-size:15px}.cover-operations .panel-heading>.primary{font-size:11px}
@media(max-width:1200px){.cover-workspace{grid-template-columns:220px minmax(0,1fr)}.mission-list{padding:12px}.mission-detail{padding:18px}.mission-card{padding:12px}.mission-card-top{flex-wrap:wrap}}@media(max-width:900px){.cover-workspace{grid-template-columns:1fr}.mission-list{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}.mission-card{min-width:230px;max-width:270px}.mission-detail{padding:20px}}@media(max-width:640px){.form-columns{grid-template-columns:1fr;gap:0}.mission-resources{grid-template-columns:1fr;gap:10px}.route-timing{grid-template-columns:1fr;gap:10px}.route-timing>span{display:flex;justify-content:space-between;gap:10px}.route-timing small{margin:0}.mission-detail{padding:16px}.mission-heading{align-items:flex-start}.mission-heading h3{font-size:16px}.cover-map{height:270px}.route-editor{padding:14px}.route-editor .mission-heading{flex-wrap:wrap}.cover-image-grid{grid-template-columns:1fr 1fr}.checkpoint-list .grow{min-width:120px}.upload-label{flex-wrap:wrap;justify-content:flex-end;max-width:150px}}

.route-point-editor{border:0;padding:0;margin:16px 0;min-width:0}.route-point-editor legend{color:var(--muted);margin-bottom:10px;font-weight:600}.point-editor-row{border:1px solid var(--line);border-radius:7px;background:#f9f9f9;padding:14px;margin-bottom:12px;min-width:0}.point-editor-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;margin-bottom:10px}.point-order-actions{display:flex;align-items:center;gap:6px}.point-order-actions button{font-size:11px;padding:3px 8px}.point-input-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;align-items:start}.route-editor .point-kind-label{margin:0;font-size:11px}.point-kind-label select{font-size:11px}.point-autocomplete{position:relative;min-width:0}.point-autocomplete>label{font-size:11px;margin:0 0 7px}.point-autocomplete>input{font-size:12px}.point-autocomplete>small{display:block;margin-top:6px;font-size:10px}.place-suggestions{position:absolute;left:0;right:0;top:68px;z-index:120;background:#fff;border:1px solid #c0c0c0;border-radius:6px;box-shadow:0 8px 24px #1f1f1f25;padding:4px;max-height:270px;overflow:auto}.place-suggestions ul{list-style:none;padding:0;margin:0}.place-suggestions li{padding:10px;cursor:pointer;border-bottom:1px solid #ececec;border-radius:3px}.place-suggestions li:hover,.place-suggestions li.highlighted{background:#ececec}.place-suggestions strong{font-size:12px;font-weight:550;display:block}.place-suggestions small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.places-attribution{display:block;width:120px;height:auto;margin:8px 8px 4px auto}.add-checkpoint{font-size:12px;margin-bottom:10px}.route-map-marker{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:2px solid #fff;background:#c43c35;color:#fff;font:600 13px system-ui;box-shadow:0 2px 7px #1f1f1f55}.route-map-marker.passed{background:#4a4a4a}.cover-map .route-map-marker{box-sizing:border-box}@media(max-width:640px){.point-input-row{grid-template-columns:1fr;gap:12px}.point-editor-row{padding:12px}.point-order-actions{gap:3px}.point-editor-heading{font-size:11px}.point-order-actions button{padding:3px 5px;font-size:10px}.place-suggestions{max-height:230px}}

/* Dense directory rows and a dedicated overview of active positions. */
.directory-panel .panel-heading{padding-block:14px}.directory-panel th{padding-block:10px;font-size:10px}.directory-panel td{padding-block:9px;font-size:12px;line-height:1.25}.directory-panel .row-actions button{padding:5px 8px;margin-right:2px;font-size:10px}.directory-panel tbody tr:hover{background:#f6f6f6}
.positions-map-panel{overflow:hidden}.positions-map-panel>.error,.positions-map-panel>p[role=status]{margin:16px 20px}.positions-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;min-height:570px}.positions-map-canvas{height:570px;min-width:0;background:#ececec}.positions-map-list{max-height:570px;overflow:auto;border-left:1px solid var(--line);background:#fff}.positions-map-list-heading{position:sticky;top:0;z-index:1;background:#f6f6f6;padding:14px 16px;font-weight:600;border-bottom:1px solid var(--line)}.positions-map-list-heading .count{margin-left:5px}.positions-map-list>p{padding:10px 16px}.positions-map-item{width:100%;display:flex;gap:10px;align-items:center;text-align:left;border:0;border-bottom:1px solid #ececec;border-radius:0;padding:11px 13px;background:#fff;font-weight:400;color:var(--ink)}.positions-map-item:hover,.positions-map-item.selected{background:#eeeeee}.positions-map-item:disabled{cursor:default;opacity:.66}.positions-map-item>span:nth-child(2){min-width:0;flex:1}.positions-map-item strong,.positions-map-item small{display:block;overflow-wrap:anywhere}.positions-map-item strong{font-size:12px}.positions-map-item small{font-size:10px;color:var(--muted)}.positions-map-index{width:25px;height:25px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#e8e8e8;color:var(--green);font-size:10px;font-weight:700}.positions-map-note{margin:0;padding:12px 16px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.position-map-marker{display:grid;place-items:center;min-width:32px;height:32px;padding:0 6px;border:2px solid #fff;border-radius:50%;background:#4a4a4a;color:#fff;font:700 12px system-ui;box-shadow:0 2px 8px #1f1f1f55}.position-map-marker.selected{background:#a66b23;transform:scale(1.15)}
@media(max-width:900px){.positions-map-layout{grid-template-columns:1fr}.positions-map-canvas{height:440px}.positions-map-list{max-height:260px;border-left:0;border-top:1px solid var(--line)}}
@media(max-width:640px){.directory-panel th,.directory-panel td{padding-inline:11px}.positions-map-canvas{height:380px}}
.map-key-status{display:block;color:var(--green);font-size:11px;font-weight:600;margin:5px 0 7px}
.positions-map-legend{display:flex;gap:20px;align-items:center;padding:11px 16px;border-bottom:1px solid var(--line);background:#fff;font-size:11px;color:var(--muted)}.positions-map-legend span{display:inline-flex;align-items:center;gap:7px}.legend-dot{display:inline-block;width:11px;height:11px;border-radius:50%}.legend-dot.staffed,.positions-map-index.staffed{background:#4a4a4a;color:#fff}.legend-dot.unmanned,.positions-map-index.unmanned{background:#b46a29;color:#fff}.position-map-marker{width:auto;min-width:0;height:32px;padding:0 11px;border-radius:17px;white-space:nowrap;font-size:12px}.position-map-marker.staffed{background:#4a4a4a}.position-map-marker.unmanned{background:#b46a29}.position-map-marker.selected{background:inherit;outline:3px solid #1f1f1f;outline-offset:2px;transform:scale(1.05)}.position-map-marker.staffed.selected{background:#4a4a4a}.position-map-marker.unmanned.selected{background:#b46a29}

/* Searchable personnel selector used by crews, positions and cover missions. */
.person-picker{position:relative;display:flex;flex-direction:column;margin-top:7px}.person-picker-selected{order:-1;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:7px}.person-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 7px 5px 9px;border:1px solid #cecece;border-radius:16px;background:#eeeeee;color:#3b3b3b;font-size:11px;line-height:1.2}.person-chip button{border:0;background:transparent;padding:0;width:18px;height:18px;border-radius:50%;color:#696969;font-size:16px;line-height:16px}.person-chip button:hover{background:#dcdcdc}.person-picker-search{position:relative}.person-picker-search input{margin:0}.person-picker-results{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:140;max-height:260px;overflow:auto;padding:4px;border:1px solid #c0c0c0;border-radius:6px;background:#fff;box-shadow:0 8px 24px #1f1f1f25}.person-picker-results button{display:flex;width:100%;align-items:center;gap:9px;border:0;border-radius:4px;padding:9px 10px;text-align:left;font-weight:400}.person-picker-results button:hover,.person-picker-results button.highlighted{background:#ececec}.person-picker-results strong{min-width:90px;font-size:12px}.person-picker-results span{font-size:11px;color:var(--muted)}.person-picker-results p{margin:0;padding:10px;color:var(--muted);font-size:11px}.person-picker-required{position:absolute!important;left:1px;bottom:1px;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;opacity:0;pointer-events:none}.person-picker>small{display:block;margin-top:5px;font-size:10px}

.task-help{border:0;padding:0;margin:5px 0;color:var(--green);font-size:12px}.task-help p{margin:7px 0;padding:10px;background:#eeeeee;border-radius:5px;color:var(--ink)}.directory-panel td:has(+ .row-actions){white-space:pre-wrap;overflow-wrap:anywhere;max-width:360px}

.directive-panel{margin-bottom:24px}.map-filters{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:16px}.map-filters label{margin:0}.map-location-detail{padding:18px;border-top:1px solid var(--border,#ddd)}.map-crew{padding:10px 0;border-bottom:1px solid var(--border,#ddd)}.map-crew small{display:block}.equipment-marker{background:#ede9fe!important;color:#5b21b6!important;border-color:#8b5cf6!important}.map-location-detail ul{padding-left:20px}.map-location-detail h4{margin-top:18px}

@media(max-width:900px){.positions-map-list:has(.map-location-detail){max-height:none}}

.directive-date-controls{padding:0 20px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.directive-date-controls label{margin:0}.directive-date-links{width:100%;display:flex;align-items:center;gap:12px;flex-wrap:wrap}

.location-crew+.location-crew{margin-top:12px}

.equipment-marker.active{background:#444444;color:#fff}.equipment-marker.inactive{background:#6a6a6a;color:#fff}.equipment-marker.maintenance{background:#a56918;color:#fff}

.handover-panel{margin:24px 0}.handover-panel>.panel-tools{padding:0 24px;flex-wrap:wrap}.handover-panel>p{padding:0 24px 16px}.task-note-button{display:block;margin:6px 0}.shift-note-compose{padding:0 0 20px;border-bottom:1px solid var(--line,#e2e8f0);margin-bottom:20px}.shift-note-list{list-style:none;padding:0;display:grid;gap:18px}.shift-note-list>li{border:1px solid var(--line,#e2e8f0);border-radius:12px;padding:16px;overflow-wrap:anywhere}.shift-note-list .upload-label{display:inline-block;margin-right:10px}.shift-note-list .badge{display:inline-block;margin-top:12px}.shift-note-list .cover-image-grid:empty{display:none}
