@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/dm-sans-400.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/dm-sans-500.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/dm-sans-600.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/dm-sans-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/manrope-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/manrope-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/manrope-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/manrope-800.ttf) format('truetype');
}

:root{--green:#1c5b43;--green-dark:#12392d;--lime:#cbed88;--ink:#202e29;--muted:#69766f;--line:#e3e8e4;--canvas:#f4f6f4;--white:#fff;--orange:#a25b18;--red:#ad4242;--radius:14px;font-size:16px;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:1rem;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #75a850;outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif}h1{font-size:2rem;line-height:1.25;font-weight:800;letter-spacing:-.055em}h2{font-size:1.08rem;letter-spacing:-.025em;font-weight:750}h3{font-size:1rem;letter-spacing:-.015em;font-weight:750}.muted{color:var(--muted)}.small{font-size:.875rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-60px;z-index:100;background:white;padding:12px 20px;left:260px}.skip:focus{top:10px}.sidebar{width:242px;position:fixed;inset:0 auto 0 0;background:var(--green-dark);color:#d9e4de;display:flex;flex-direction:column;padding:32px 20px 20px;z-index:30}.brand{display:flex;align-items:center;gap:11px;margin:0 12px 24px;color:white;font-family:Manrope,sans-serif;font-size:1.4rem;font-weight:800;letter-spacing:-.035em}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:.65rem;letter-spacing:.21em;font-weight:500;margin-top:1px;color:#aebfb5}.brand-mark{background:var(--lime);color:var(--green-dark);height:35px;width:35px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.65rem;position:relative}.brand-mark span{font-size:.65rem;position:absolute;right:3px;top:1px}.workspace-tag{border:1px solid #35584b;border-radius:8px;padding:10px 12px;font-size:.875rem;display:flex;align-items:center;gap:9px;margin-bottom:32px}.workspace-dot{width:7px;height:7px;border-radius:50%;background:var(--lime)}.nav-label{font-size:.65rem;letter-spacing:.16em;color:#89a396;margin:0 12px 12px}.nav-item{display:flex;align-items:center;gap:13px;padding:12px;border-radius:8px;font-size:.9rem;margin:3px 0;color:#bfcec6;transition:background .15s}.nav-item:hover{background:#244b3d;color:white}.nav-item.active{background:var(--lime);color:#183c2e;font-weight:650}.nav-item svg{width:20px;height:20px}.nav-separator{height:1px;background:#2b4c3e;margin:22px 10px}.nav-item .nav-badge{font-size:.65rem;background:#375b4b;border-radius:4px;padding:1px 5px;margin-left:auto;color:#c5d5cc}.sidebar-bottom{margin-top:auto;padding-top:30px}.prototype-chip{font-size:.65rem;letter-spacing:.13em;background:#294e3f;border:1px solid #3f6252;display:inline-block;padding:4px 8px;border-radius:4px;color:var(--lime)}.sidebar-bottom p{font-size:.8rem;line-height:1.6;color:#b4c6bb;margin:9px 0}.sidebar-reset{background:none;border:none;padding:0;color:#d5e7d8;text-decoration:underline;font-size:.8rem}.profile{border-top:1px solid #2f5142;margin-top:24px;padding:20px 4px 0;display:flex;gap:11px;align-items:center;font-size:.875rem}.avatar{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e4ebe6;color:#335846;font-size:.7rem;font-weight:700;flex:none}.profile .avatar{background:#3b6250;color:#e8f0e9}.profile small{display:block;color:#9eb6a7;font-size:.75rem}.app-shell{margin-left:242px}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);padding:0 36px;display:flex;align-items:center;justify-content:space-between;gap:16px}.breadcrumbs{display:flex;align-items:center;gap:16px;font-size:.875rem;font-weight:500}.breadcrumb-root,.breadcrumb-separator{color:#8a968f}.topbar-controls{display:flex;align-items:center;gap:22px}.mock-label{font-size:.75rem;display:flex;align-items:center;gap:6px;color:#606f65;white-space:nowrap}.mock-label span{width:6px;height:6px;background:#5c8352;border-radius:50%}.view-selector select{background:#f8faf8;border:1px solid var(--line);border-radius:7px;padding:8px 30px 8px 11px;font-size:.8rem;color:#3b5043;max-width:190px}.icon-btn{background:none;border:none;padding:9px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;min-height:40px;min-width:40px}.icon-btn:hover{background:#edf2ee}.icon-btn svg{width:20px;height:20px}.notification-btn{position:relative}.notification-count{background:var(--lime);font-size:.6rem;position:absolute;top:2px;right:0;min-width:15px;height:15px;border-radius:50%;font-weight:700;display:flex;align-items:center;justify-content:center}.mobile-menu{display:none}main{padding:32px 36px 24px;max-width:1620px;margin:auto;min-height:calc(100vh - 132px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px}.eyebrow{font-size:.75rem;letter-spacing:.12em;color:var(--green);font-weight:650;margin-bottom:5px}.page-heading p{color:var(--muted);margin-top:8px;font-size:.9rem}.heading-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:10px 15px;background:#fff;font-size:.875rem;font-weight:550;min-height:43px;transition:background .15s,transform .15s;white-space:nowrap}.btn:hover{background:#edf3ed}.btn svg{width:17px;height:17px}.btn-primary{background:var(--green);border-color:var(--green);color:white;box-shadow:0 2px 2px #12392d0d}.btn-primary:hover{background:#154a37}.btn-danger{background:#a83838;border-color:#a83838;color:white}.btn-small{padding:7px 11px;min-height:35px;font-size:.8rem}.btn-plain{border:0;background:none;color:var(--green);box-shadow:none;padding:8px 0}.date-pill{background:#fff;border:1px solid var(--line);padding:9px 13px;border-radius:8px;font-size:.875rem;display:flex;align-items:center;gap:8px}.date-pill svg{width:17px;height:17px;color:#728376}.banner{background:#eaf1e8;border:1px solid #d4e4cf;border-radius:9px;display:flex;gap:12px;align-items:center;padding:11px 16px;margin-bottom:24px;font-size:.875rem;color:#3e6140}.banner svg{width:18px;height:18px;flex:none}.banner a{margin-left:auto;text-decoration:underline;font-weight:600;white-space:nowrap}.banner.neutral{background:#eff2f3;border-color:#dfe5e7;color:#52656c}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 21px;min-height:142px}.stat-head{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#617067;font-weight:500}.stat-icon{width:30px;height:30px;background:#f0f4ed;color:#527147;display:flex;align-items:center;justify-content:center;border-radius:8px}.stat-icon svg{height:17px;width:17px}.stat-number{font-family:Manrope,sans-serif;font-size:2rem;font-weight:800;line-height:1.3;letter-spacing:-.04em;margin:7px 0 4px}.stat-number span{font-size:1rem;color:#89958d;font-weight:500;margin-left:5px}.stat-foot{font-size:.75rem;color:var(--muted);display:flex;align-items:center;gap:5px}.stat-foot.good{color:#527444}.stat-foot.warn{color:var(--orange)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-head{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.panel-head p{font-size:.8rem;color:var(--muted);margin-top:4px}.panel-head .btn{flex:none}.panel-body{padding:20px 22px}.badge{display:inline-flex;gap:5px;align-items:center;font-size:.7rem;font-weight:600;padding:4px 8px;border-radius:5px;white-space:nowrap;line-height:1.3}.badge.green{background:#eaf4e8;color:#476c3d}.badge.amber{background:#fff1dd;color:#966124}.badge.red{background:#fbecec;color:#ae4a4a}.badge.gray{background:#edf1ef;color:#667970}.badge.blue{background:#eaf1f8;color:#527194}.count-badge{font-size:.75rem;color:#76857b;padding:3px 8px;border-radius:6px;background:#f2f5f2;margin-left:7px}.crew-row{padding:19px 22px;display:grid;grid-template-columns:39px 1fr auto;gap:13px;border-bottom:1px solid var(--line);align-items:start}.crew-row:last-child{border-bottom:0}.crew-letter{width:36px;height:36px;border-radius:9px;background:#e9eee7;color:#527445;font-size:.85rem;font-weight:700;display:flex;justify-content:center;align-items:center}.crew-row:nth-child(3) .crew-letter{background:#eef0f6;color:#69728f}.crew-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.crew-title button{padding:0;border:0;background:none;font-weight:650;text-align:left;font-size:.9rem}.crew-site{font-size:.8rem;color:var(--muted);margin-top:3px}.crew-task{font-size:.85rem;margin-top:9px}.crew-meta{display:flex;align-items:center;gap:9px;font-size:.75rem;color:#768379;margin-top:13px}.avatar-stack{display:flex;padding-left:0}.avatar-stack .avatar{width:23px;height:23px;font-size:.55rem;margin-left:-5px;border:2px solid white}.avatar-stack .avatar:first-child{margin-left:0}.crew-time{font-size:.75rem;color:#738176;text-align:right;white-space:nowrap;padding-top:4px}.crew-time .badge{display:block;margin-bottom:11px}.subtle-link{color:var(--green);font-size:.8rem;font-weight:600;display:inline-flex;gap:6px;align-items:center;border:0;background:none;cursor:pointer;padding:0}.section-stack{display:flex;flex-direction:column;gap:22px}.attention-item{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.attention-item:first-child{padding-top:0}.attention-item:last-child{border-bottom:0;padding-bottom:0}.attention-icon{width:31px;height:31px;border-radius:8px;background:#fff1dd;color:#9f722f;display:flex;align-items:center;justify-content:center;flex:none}.attention-icon.red{background:#f8eceb;color:#ac5353}.attention-icon svg{width:17px;height:17px}.attention-item h3{font-size:.85rem}.attention-item p{font-size:.8rem;color:var(--muted);margin:3px 0 8px}.activity-row{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line);font-size:.85rem}.activity-row:first-child{padding-top:0}.activity-row:last-child{border:0;padding-bottom:0}.activity-row p{font-size:.75rem;color:var(--muted);margin-top:4px}.activity-icon{height:33px;width:33px;border-radius:8px;flex:none;display:flex;align-items:center;justify-content:center;background:#f0f4ed;color:#658157}.activity-icon svg{width:17px;height:17px}.lower-grid{margin-top:22px;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:22px}.sop-mini{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.sop-mini:first-child{padding-top:0}.sop-mini:last-child{border:0;padding-bottom:0}.doc-icon{width:38px;height:42px;border:1px solid #dfe7dd;border-radius:7px;background:#f4f7ef;color:#6a875a;display:flex;align-items:center;justify-content:center;flex:none}.doc-icon svg{width:19px;height:19px}.sop-mini h3{font-size:.85rem}.sop-mini p{font-size:.75rem;color:var(--muted);margin-top:3px}.sop-mini .badge{margin-left:auto}.shift-card{padding:22px;background:var(--green-dark);color:white;border-radius:var(--radius);border:1px solid var(--green-dark);display:flex;flex-direction:column;justify-content:space-between}.shift-top{display:flex;align-items:center;gap:10px}.shift-top svg{color:var(--lime);width:23px;height:23px}.shift-card h2{color:#fff}.shift-card p{font-size:.85rem;color:#bdd0c4;margin-top:12px;max-width:330px}.shift-card .btn{align-self:flex-start;background:var(--lime);border-color:var(--lime);color:#254631;margin-top:22px}.app-footer{padding:14px 36px 24px;font-size:.75rem;color:#869189;display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:1620px;margin:auto}.app-footer button{border:none;background:none;color:#607563;padding:0;margin-left:8px;text-decoration:underline;font-size:.75rem}.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.search-field{position:relative;flex:1;min-width:200px;max-width:410px}.search-field svg{position:absolute;top:12px;left:13px;width:18px;height:18px;color:#859286}.search-field input{width:100%;padding:10px 14px 10px 40px;min-height:44px;border:1px solid #dce3dc;border-radius:8px;background:#fff;font-size:.875rem}.filter-select{border:1px solid #dce3dc;border-radius:8px;padding:10px 30px 10px 12px;background:#fff;min-height:44px;font-size:.875rem;max-width:100%}.result-count{margin-left:auto;font-size:.8rem;color:var(--muted)}.tabs{display:flex;gap:5px;flex-wrap:wrap}.tab{border:1px solid transparent;padding:9px 14px;border-radius:8px;background:none;color:#6e7e73;font-size:.875rem;font-weight:550;min-height:42px}.tab.active{background:#e5eddf;color:#355e32;border-color:#d5e1ce}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.sop-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:23px;display:flex;flex-direction:column;min-height:269px;transition:border-color .15s,box-shadow .15s}.sop-card:hover{border-color:#bfcfb7;box-shadow:0 4px 18px #20352307}.sop-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.sop-card h2{font-size:1.05rem;line-height:1.4;margin-bottom:7px}.sop-card p{font-size:.85rem;color:var(--muted);margin-bottom:18px}.sop-card-footer{margin-top:auto;display:flex;align-items:center;gap:7px;justify-content:space-between;padding-top:15px;border-top:1px solid var(--line)}.sop-card-footer span{font-size:.75rem;color:var(--muted)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:24px 0 16px}.section-heading p{font-size:.8rem;color:var(--muted)}.plan-date{display:flex;align-items:center;gap:10px}.plan-date input{padding:9px 12px;min-height:43px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font-size:.875rem}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.plan-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.plan-card-header{padding:21px;border-bottom:1px solid var(--line)}.plan-card-header .badge{margin-bottom:11px}.plan-card-header h2{font-size:1.16rem;margin-bottom:4px}.plan-card-header p{font-size:.85rem;color:var(--muted)}.plan-card-body{padding:21px}.time-label{display:flex;align-items:center;gap:6px;color:#6b7e6c;font-size:.8rem;margin-bottom:15px}.time-label svg{height:16px;width:16px}.task-list{list-style:none;margin:0;padding:0}.task-list li{display:flex;align-items:flex-start;gap:9px;padding:10px 0;font-size:.875rem;border-bottom:1px solid #edf0ed}.task-list li:last-child{border:none}.task-list svg{width:16px;height:16px;flex:none;margin-top:2px;color:#7a9070}.crew-people{display:flex;gap:8px;align-items:center;font-size:.8rem;color:#6b7d6d;margin:18px 0 0}.plan-note{margin-top:16px;padding:11px 13px;border-radius:7px;background:#f5f7f1;font-size:.8rem;color:#697c62;line-height:1.5}.plan-card-footer{border-top:1px solid var(--line);padding:14px 21px;display:flex;justify-content:space-between;gap:10px;align-items:center}.plan-card-footer .small{font-size:.7rem;color:#7c897e}.asset-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.asset-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:21px}.asset-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.asset-symbol{background:#eef2ec;border-radius:10px;width:45px;height:45px;display:flex;align-items:center;justify-content:center;color:#61765a}.asset-symbol svg{width:24px;height:24px}.asset-card h2{font-size:1.05rem;margin-bottom:3px}.asset-card .asset-id{font-size:.75rem;letter-spacing:.02em;color:#81907e}.asset-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.asset-facts dt{font-size:.7rem;color:#80907d;margin-bottom:3px}.asset-facts dd{margin:0;font-size:.875rem}.asset-card-footer{padding-top:15px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.detail-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:22px}.back-link{display:inline-flex;gap:7px;align-items:center;font-size:.875rem;color:#617763;margin-bottom:20px}.back-link svg{width:16px;height:16px}.detail-title{font-size:1.9rem}.sop-text h3{margin:22px 0 9px}.sop-text p,.sop-text li{font-size:.94rem;line-height:1.7;color:#56675a}.sop-text ol{padding-left:23px}.sop-text li{padding:5px 0}.revision-row{display:flex;align-items:flex-start;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);font-size:.875rem}.revision-row:last-child{border:none}.revision-version{background:#f0f4ed;border-radius:7px;color:#517047;font-size:.75rem;padding:5px 8px;flex:none;font-weight:600}.revision-row p{color:var(--muted);font-size:.8rem;margin-top:4px}.revision-row small{font-size:.75rem;color:#8a958a}.fact-list{display:grid;gap:14px}.fact-list div{display:flex;justify-content:space-between;gap:14px;font-size:.875rem}.fact-list dt{color:#7c897c}.fact-list dd{margin:0;text-align:right}.callout{padding:14px 16px;border-left:3px solid #82a660;background:#f2f6ed;border-radius:0 7px 7px 0;font-size:.875rem;color:#526d46;margin-bottom:20px}.history-entry{display:flex;gap:15px;padding:20px 0;border-bottom:1px solid var(--line)}.history-entry:first-child{padding-top:0}.history-entry:last-child{border:0;padding-bottom:0}.history-date{width:60px;flex:none;background:#f1f4ee;border-radius:8px;padding:7px 5px;height:max-content;text-align:center;font-size:.8rem;color:#607256}.history-entry h3{font-size:.95rem}.history-entry p{font-size:.875rem;color:#6a7b6b;margin:6px 0}.history-entry small{font-size:.75rem;color:#80907b}.empty{padding:60px 25px;text-align:center;background:#fff;border:1px dashed #d0dbc9;border-radius:14px;grid-column:1/-1}.empty svg{width:30px;height:30px;color:#7b9371}.empty h2{margin:13px 0 5px}.empty p{color:var(--muted);font-size:.875rem;margin-bottom:20px}.preview-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.preview-label{font-size:.7rem;background:#e9eff2;color:#5a7886;padding:4px 8px;border-radius:5px;display:inline-block;margin-bottom:8px;font-weight:600}.inventory-row,.checklist-row,.competency-row{padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.inventory-row:last-child,.checklist-row:last-child,.competency-row:last-child{border:0}.inventory-row h3,.checklist-row h3{font-size:.875rem}.inventory-row p,.checklist-row p{font-size:.8rem;color:var(--muted);margin-top:3px}.quantity{font-family:Manrope,sans-serif;font-weight:700;white-space:nowrap}.quantity small{font-size:.75rem;color:var(--muted);font-weight:400}.checklist-row .checkbox-label{flex:1}.checkbox-label{display:flex;gap:10px;align-items:center;font-size:.875rem;cursor:pointer}.checkbox-label input{width:18px;height:18px;accent-color:var(--green);flex:none}.person-row{display:flex;align-items:center;gap:10px;font-size:.875rem}.person-row p{font-size:.75rem;color:var(--muted);margin-top:2px}.competency-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.meeting-topic{display:flex;gap:10px;padding:13px 0;font-size:.875rem;border-bottom:1px solid var(--line)}.meeting-topic span{color:#859879;font-size:.8rem}.meeting-topic:last-child{border:0}.mobile-bottom{display:none}dialog{border:1px solid #dce4d9;box-shadow:0 25px 100px #0e281f33;border-radius:16px;max-width:610px;width:calc(100% - 36px);padding:0;color:var(--ink);max-height:90dvh}dialog::backdrop{background:#11291fd0;backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:22px 25px 18px;border-bottom:1px solid var(--line);gap:12px}.dialog-header h2{font-size:1.25rem}.dialog-header p{font-size:.8rem;color:var(--muted);margin-top:4px}.dialog-body{padding:24px 25px;overflow:auto;max-height:calc(90dvh - 166px)}.dialog-footer{border-top:1px solid var(--line);padding:16px 25px;display:flex;justify-content:flex-end;gap:10px;background:#fafcf8}.form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.form-field label,.form-label{font-size:.85rem;font-weight:600}.form-field input,.form-field select,.form-field textarea{border:1px solid #d5dfd2;padding:10px 12px;min-height:44px;border-radius:8px;background:#fff;width:100%;font-size:.94rem}.form-field textarea{resize:vertical;min-height:85px}.form-field small,.form-hint{font-size:.75rem;color:#7a8977;font-weight:400}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row .form-field{min-width:0}.recipient-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 20px;padding:15px;background:#f6f8f3;border-radius:8px}.recipient-list .checkbox-label{font-size:.8rem}.form-error{color:#a73535;background:#fff1ef;border-radius:7px;padding:10px 12px;font-size:.85rem;margin-bottom:16px}.upload-area{border:1px dashed #b8cdb0;border-radius:8px;padding:17px;background:#f7faf3;margin-bottom:18px;font-size:.875rem}.upload-area input{display:block;margin-top:10px;max-width:100%;font-size:.8rem}.upload-area p{font-size:.75rem;color:var(--muted);margin-top:7px}.toast{position:fixed;bottom:24px;left:calc(50% + 121px);transform:translateX(-50%);max-width:calc(100vw - 36px);width:max-content;background:#183e2c;color:white;box-shadow:0 8px 40px #183e2c33;padding:14px 20px;border-radius:10px;z-index:100;font-size:.875rem}.notice-row{display:flex;gap:13px;padding:15px 0;border-bottom:1px solid var(--line)}.notice-row:last-child{border:none}.notice-row h3{font-size:.94rem}.notice-row p{font-size:.875rem;color:var(--muted);margin:4px 0}.notice-row small{font-size:.75rem;color:#7f8e7d}.mode-note{font-size:.8rem;color:#6d7d69;margin-top:16px}.schedule-line{font-size:.75rem;display:flex;gap:6px;align-items:center;margin-top:9px;color:#5d7b52}.schedule-line svg{width:14px;height:14px}.scrim{display:none}.field-summary{margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:#edf2e7;border:1px solid #d6e1cd;border-radius:12px;gap:15px}.field-summary h2{font-size:1rem}.field-summary p{font-size:.8rem;color:#6a8060;margin-top:4px}.receipt{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#466c3c;padding:12px 0}.receipt svg{width:18px;height:18px}
/* SOP media extends the existing operations workspace. */
[hidden]{display:none!important}.sop-format-tags{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.sop-video-card{margin:22px 0;padding:18px;background:#f5f8f1;border:1px solid #dce5d5;border-radius:10px}.video-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.sop-text .video-card-heading h3{margin:0;font-size:1rem;overflow-wrap:anywhere}.video-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.video-actions .btn{min-height:40px}.sop-video-player{width:100%;max-height:430px;aspect-ratio:16/9;display:block;background:#17271d;border-radius:8px;object-fit:contain}.sop-text .video-storage-note,.video-storage-note{font-size:.875rem;line-height:1.5;color:#526b44;margin-top:12px;overflow-wrap:anywhere}.sop-text .video-file-meta,.video-file-meta{font-size:.75rem;color:#798672;margin-top:6px;overflow-wrap:anywhere}.video-upload-area label{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600}.video-upload-area label svg{height:19px;width:19px;flex:none}.video-upload-area input{font-size:.875rem;max-width:100%;min-height:40px}.video-upload-area p{font-size:.8125rem;overflow-wrap:anywhere}.video-upload-area input::file-selector-button{font:inherit;cursor:pointer;border:1px solid #c9d7c0;background:#fff;color:#315732;padding:9px 12px;border-radius:7px;margin:0 9px 0 0}.video-upload-area .existing-video-note{margin-top:12px;font-weight:500}.video-upload-area #video-selection-preview{margin-top:14px}.video-upload-area [data-video-status]{margin-top:9px;line-height:1.5;font-size:.875rem;color:#486b3a}.dialog-footer button:disabled{cursor:wait}.sop-video-card .preview-label{font-size:.7rem;margin:0 0 6px}.fact-list dd{overflow-wrap:anywhere;max-width:65%}
@media(max-width:760px){.video-card-heading{flex-direction:column}.video-actions{justify-content:flex-start;width:100%}.video-actions .btn{min-height:44px;font-size:.875rem}.sop-video-card{padding:13px}.sop-video-player{max-height:240px}.video-upload-area{padding:14px}.video-upload-area input{width:100%;font-size:.8rem}.heading-actions{gap:8px}.heading-actions .btn{flex-wrap:wrap;white-space:normal}.sop-format-tags .small{font-size:.8125rem}}
/* Phone and tablet workspace: one navigation model at every viewport. */
:root{--nav-height:72px}body{overflow-x:clip}.app-shell{margin:0 auto;width:100%;max-width:1180px}.skip{left:16px}.sidebar{width:min(320px,calc(100vw - 32px));height:100dvh;padding:27px 20px calc(20px + env(safe-area-inset-bottom));transform:translateX(-100%);transition:transform .18s ease;overflow-y:auto;overscroll-behavior:contain;visibility:hidden}.sidebar.open{transform:translateX(0);visibility:visible}.sidebar .brand{margin:0 48px 24px 4px;font-size:1.4rem}.drawer-close{position:absolute;right:12px;top:23px;color:#dce9df;min-width:44px;min-height:44px}.drawer-close:hover{background:#315341}.workspace-tag{margin-bottom:23px}.nav-item{font-size:.9375rem;min-height:48px}.nav-label{font-size:.75rem;letter-spacing:.1em}.nav-item .nav-badge,.prototype-chip{font-size:.75rem}.nav-separator{margin:17px 10px}.sidebar-bottom{padding-top:24px}.sidebar-reset{min-height:44px;font-size:.875rem}.profile{margin-top:12px;padding-top:17px}.scrim:not([hidden]){display:block;position:fixed;inset:0;background:#102c23bf;z-index:29}.menu-open,.form-open{overflow:hidden}.topbar{position:sticky;top:0;z-index:20;min-height:72px;height:auto;padding:10px max(14px,env(safe-area-inset-left)) 10px max(14px,env(safe-area-inset-right));gap:8px;background:var(--green-dark);color:#f2f6f2;border-bottom:1px solid #2d5342}.breadcrumbs{gap:7px;min-width:0;flex:1;font-size:.875rem}.breadcrumb-root,.breadcrumb-separator{display:none}#breadcrumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu{display:inline-flex;flex:none;color:#e5eedf}.icon-btn{min-width:44px;min-height:44px;padding:10px}.topbar .icon-btn:hover{background:#2b5040}.topbar-controls{gap:4px;flex:none}.mock-label{display:none}.view-selector select{font-size:.875rem;width:132px;max-width:none;min-height:44px;padding:9px 22px 9px 9px;border:1px solid #436450;background:#244b3a;color:#eef3eb}.view-selector option{background:white;color:var(--ink)}.notification-btn{color:#e5eedf}.notification-count{color:#1d472d;min-width:17px;height:17px;font-size:.75rem;top:0;right:1px}.mobile-bottom{position:fixed;inset:auto 0 0;display:flex;justify-content:center;gap:3px;background:#fff;border-top:1px solid #dce5d8;box-shadow:0 -4px 20px #16312008;padding:8px max(8px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right));z-index:25}.mobile-bottom a,.mobile-bottom button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:1;max-width:152px;min-width:0;min-height:52px;font-size:.75rem;color:#657560;border:0;border-radius:10px;background:none;font-weight:500;padding:5px 0}.mobile-bottom svg{width:22px;height:22px}.mobile-bottom .active{background:#e9f2e1;color:#285b36;font-weight:650}main{padding:23px 18px 22px;max-width:none;min-height:calc(100dvh - 210px);scroll-margin-top:85px;outline:none}h1{font-size:1.65rem;line-height:1.3}.page-heading{display:flex;flex-direction:column;align-items:stretch;gap:16px;margin-bottom:22px}.eyebrow{font-size:.75rem;letter-spacing:.075em;line-height:1.6}.page-heading p{font-size:.9375rem;margin-top:7px;line-height:1.5}.heading-actions{width:100%;gap:9px;flex-wrap:wrap}.heading-actions .btn{flex:1;white-space:normal;padding:11px 12px}.heading-actions .date-pill{display:none}.btn,.btn-small,.tab{font-size:.875rem;min-height:44px;white-space:normal}.btn-small{padding:9px 12px}.btn svg{flex:none}.subtle-link{font-size:.875rem;min-height:44px;padding:8px 0}.banner{font-size:.875rem;align-items:flex-start;flex-wrap:wrap;padding:13px;gap:9px;margin-bottom:20px}.banner span{flex:1;min-width:0}.banner a{min-height:44px;display:flex;align-items:center;margin-left:27px;white-space:normal}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:22px}.stat{padding:13px;min-height:115px}.stat-head{font-size:.875rem;gap:5px;align-items:flex-start}.stat-icon{width:24px;height:24px;flex:none}.stat-icon svg{height:15px;width:15px}.stat-number{font-size:1.8rem;margin:4px 0}.stat-foot{font-size:.75rem;line-height:1.45}.dashboard-grid,.lower-grid,.detail-grid,.preview-layout{grid-template-columns:minmax(0,1fr);gap:18px}.lower-grid{margin-top:18px}.section-stack{display:flex;flex-direction:column;gap:18px}.dashboard-grid>.panel{align-self:start}.panel-head{padding:16px 18px;flex-wrap:wrap;gap:8px}.panel-head h2{font-size:1.05rem}.panel-head p{font-size:.875rem}.panel-body{padding:18px}.badge{font-size:.75rem;padding:5px 8px}.crew-row{padding:17px 18px;grid-template-columns:33px minmax(0,1fr);gap:10px}.crew-letter{height:33px;width:33px}.crew-title button{font-size:1rem;min-height:44px;line-height:1.45;padding:5px 0}.crew-site{font-size:.875rem}.crew-task{font-size:.9375rem;margin-top:8px}.crew-meta{font-size:.75rem;gap:6px;flex-wrap:wrap}.crew-time{grid-column:2;display:flex;align-items:center;gap:12px;font-size:.875rem;padding:0;text-align:left;white-space:normal}.crew-time .badge{margin:0;display:inline-flex}.attention-item h3,.sop-mini h3{font-size:.9375rem}.attention-item p{font-size:.875rem;margin-bottom:3px}.activity-row{font-size:.9375rem}.sop-mini{min-height:64px}.shift-card{padding:21px;min-height:205px}.shift-card p{font-size:.9375rem;max-width:none}.shift-card .btn{min-height:46px}.app-footer{padding:12px 18px calc(100px + env(safe-area-inset-bottom));flex-direction:column;align-items:flex-start;gap:5px;max-width:none;font-size:.75rem}.app-footer span:last-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.app-footer button{min-height:44px;font-size:.875rem}.filters{gap:10px;display:flex;flex-wrap:wrap;align-items:center;margin-bottom:20px}.search-field{flex:1 1 100%;max-width:none;min-width:0}.search-field input,.filter-select,.plan-date input{font-size:1rem;min-height:48px}.search-field svg{top:15px}.filter-select{min-width:0;flex:1;max-width:100%;padding-right:24px}.result-count{margin-left:0;flex-basis:100%;font-size:.875rem}.cards-grid,.plan-grid,.asset-list{grid-template-columns:minmax(0,1fr);gap:16px}.sop-card{padding:20px;min-height:244px}.sop-card h2{font-size:1.1rem}.sop-card p{font-size:.9375rem}.sop-card-top{margin-bottom:14px}.sop-card-footer{padding-top:10px}.plan-card-header,.plan-card-body{padding:20px}.plan-card-header p,.task-list li{font-size:.9375rem}.time-label{font-size:.9375rem}.crew-people,.plan-note{font-size:.875rem}.plan-card-footer{padding:11px 20px;flex-wrap:wrap;gap:4px}.plan-card-footer .small{font-size:.75rem}.plan-date{gap:8px;flex:1 1 100%;min-width:0}.plan-date input{width:100%;max-width:none;min-width:0}.plan-date label{flex:1;min-width:0}.date-switch .btn{min-width:48px;min-height:48px;padding:10px;flex:none}.asset-card{padding:20px}.asset-card h2{font-size:1.1rem}.asset-facts{gap:13px}.asset-facts dt{font-size:.75rem}.asset-facts dd{font-size:.9375rem}.asset-card-footer{gap:8px;flex-wrap:wrap;padding-top:11px}.back-link{min-height:44px;margin:0 0 12px;font-size:.9375rem}.sop-text p,.sop-text li{font-size:1rem}.sop-video-player{max-height:none}.video-card-heading{flex-direction:column}.video-actions{justify-content:flex-start;width:100%}.video-actions .btn{min-height:44px}.sop-video-card{padding:13px}.video-upload-area{padding:14px}.video-upload-area input{width:100%;font-size:.875rem;min-height:44px}.sop-format-tags{gap:6px}.sop-format-tags .small{font-size:.875rem}.history-entry{gap:12px}.history-entry h3{font-size:1rem}.history-entry p{font-size:.9375rem}.history-date{font-size:.875rem}.fact-list div{font-size:.9375rem}.revision-row{font-size:.9375rem}.revision-row p{font-size:.875rem}.callout{font-size:.875rem}.inventory-row h3,.checklist-row h3,.person-row{font-size:1rem}.inventory-row p,.checklist-row p{font-size:.875rem}.competency-row{align-items:flex-start;flex-wrap:wrap}.competency-tags{padding-left:44px;justify-content:flex-start}.checkbox-label{min-height:44px;font-size:.9375rem;line-height:1.4}.checkbox-label input{width:22px;height:22px}.meeting-topic{font-size:1rem}.receipt,.mode-note{font-size:.875rem}.toast{left:50%;bottom:calc(86px + env(safe-area-inset-bottom));width:min(600px,calc(100% - 32px));text-align:center;font-size:.875rem}.tabs{gap:5px}.tab{font-size:.9375rem}.empty{padding:35px 20px}.empty p{font-size:1rem}.field-summary{padding:17px;align-items:flex-start;gap:12px;flex-wrap:wrap}dialog{width:calc(100% - 48px);max-width:640px;max-height:calc(100dvh - 48px);border-radius:18px}dialog form,dialog>div{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:inherit;min-height:0}.dialog-header{padding:20px;gap:12px;flex-shrink:0}.dialog-header h2{font-size:1.2rem}.dialog-header p{font-size:.875rem}.dialog-body{padding:20px;min-height:0;overflow:auto;max-height:calc(100dvh - 225px);overscroll-behavior:contain;scroll-padding:20px}.dialog-footer{padding:15px 20px;flex-shrink:0;gap:10px;display:flex}.dialog-footer .btn{flex:1;min-height:48px}.form-field label,.form-label{font-size:.9375rem}.form-field input,.form-field select,.form-field textarea{font-size:1rem;min-height:48px}.form-field textarea{min-height:100px}.form-field small,.form-hint{font-size:.8125rem}.form-error{font-size:.9375rem}.form-row{grid-template-columns:minmax(0,1fr);gap:0}.recipient-list{grid-template-columns:minmax(0,1fr);padding:12px;gap:3px}.recipient-list .checkbox-label{font-size:.9375rem}.upload-area input{font-size:.875rem}.upload-area p{font-size:.8125rem}.notice-row p{font-size:.9375rem}
@media(max-width:599px){dialog{position:fixed;inset:0;margin:0;width:100%;height:100dvh;max-width:none;max-height:100dvh;border:0;border-radius:0}dialog form,dialog>div{height:100%;max-height:100%}.dialog-body{max-height:none}.dialog-header{padding:16px 18px calc(16px + env(safe-area-inset-top))}.dialog-footer{padding:14px 18px calc(14px + env(safe-area-inset-bottom))}.topbar{padding-top:calc(10px + env(safe-area-inset-top))}.banner a{display:none}.stat-head{font-size:.8125rem}.stat-icon{display:none}}
@media(min-width:600px){main{padding:29px 28px}.topbar{padding:12px 26px;gap:18px}.breadcrumbs{gap:12px}.breadcrumb-root{display:inline;font-family:Manrope,system-ui,sans-serif;font-size:1.15rem;color:#f3f7ef;font-weight:800;letter-spacing:-.03em}.breadcrumb-separator{display:inline;color:#799d86}.view-selector select{width:160px;font-size:.9375rem}.topbar-controls{gap:10px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat{padding:16px 14px;min-height:140px}.cards-grid,.plan-grid,.asset-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.filters .search-field{flex-basis:100%}.filters .result-count{flex-basis:auto;margin-left:auto}.plan-date{flex:0 1 330px}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.recipient-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px}.dialog-footer .btn{flex:0 1 auto;min-width:120px}.video-card-heading{flex-direction:row}.video-actions{width:auto}.sop-video-card{padding:18px}.app-footer{padding-left:28px;padding-right:28px}.sidebar{width:320px}.mobile-bottom a,.mobile-bottom button{font-size:.875rem;min-height:56px}.toast{bottom:calc(94px + env(safe-area-inset-bottom))}}
@media(min-width:820px){.page-heading{flex-direction:row;align-items:center;gap:22px}.page-heading>div:first-child{flex:1;min-width:0}.heading-actions{width:auto;max-width:52%}.heading-actions .btn{flex:0 1 auto}.heading-actions .date-pill{display:none}h1{font-size:1.9rem}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}.lower-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.detail-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.preview-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.filters .search-field{flex-basis:250px}.stat-icon{width:25px;height:25px}.asset-card{padding:23px}.crew-row{padding:19px 20px}.panel-head,.panel-body{padding-left:20px;padding-right:20px}.stat-head{font-size:.875rem}.competency-row{flex-wrap:nowrap}.competency-tags{padding-left:0;justify-content:flex-end}.app-footer{flex-direction:row;align-items:center;justify-content:space-between}}
@media(min-width:1100px){main{padding:32px}.cards-grid,.plan-grid,.asset-list{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{padding:18px}.topbar{padding-left:30px;padding-right:30px}.app-footer{padding-left:32px;padding-right:32px}}
@media(max-width:359px){main{padding-left:14px;padding-right:14px}.topbar{padding-left:8px;padding-right:8px}.view-selector select{width:122px;padding-right:17px}.breadcrumbs{gap:3px}.topbar-controls{gap:1px}.stats{gap:8px}.stat{padding:11px}.stat-number{font-size:1.6rem}.mobile-bottom a,.mobile-bottom button{font-size:.7rem}.page-heading .btn{font-size:.8125rem}.panel-head,.panel-body,.crew-row{padding-left:14px;padding-right:14px}.heading-actions{gap:7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Only the three MVP workflows are shown; the SOP overview spans the workspace. */
.lower-grid{grid-template-columns:minmax(0,1fr)}
/* Mock login reuses the workspace's typography, colours and form controls. */
.logged-out{background:linear-gradient(145deg,#12392d,#1c4a36);min-height:100dvh}.logged-out .app-shell,.logged-out .mobile-bottom,.logged-out .sidebar,.logged-out .skip{display:none!important}.login-screen{width:min(100%,520px);margin:0 auto;padding:28px 18px calc(28px + env(safe-area-inset-bottom));min-height:100dvh}.login-brand{display:flex;align-items:center;justify-content:center;gap:12px;font-family:Manrope,system-ui,sans-serif;font-size:1.6rem;font-weight:800;color:#fff;letter-spacing:-.04em;margin:4px 0 25px}.login-brand small{display:block;font-family:'DM Sans',system-ui,sans-serif;font-size:.7rem;letter-spacing:.14em;color:#c1d2c4;font-weight:500}.login-brand .brand-mark{width:41px;height:41px;font-size:1.9rem}.login-card{background:#fff;border:1px solid #d9e4d5;border-radius:18px;padding:23px;box-shadow:0 20px 60px #061b1540}.login-card h1{font-size:1.6rem;line-height:1.35}.login-intro{font-size:.9375rem;color:var(--muted);margin:8px 0 22px}.login-roles{border:0;padding:0;margin:0 0 21px;display:grid;gap:10px;min-width:0}.login-roles legend{font-size:.9375rem;font-weight:600;padding:0;margin-bottom:10px}.login-role-card{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #dce5d8;border-radius:10px;background:#f9fbf7;cursor:pointer;min-height:78px}.login-role-card:has(input:checked){border-color:#6b9458;background:#eff6e9;box-shadow:inset 0 0 0 1px #8dac74}.login-role-card input{width:21px;height:21px;flex:none;accent-color:var(--green);margin:2px 0 0}.login-role-card strong{display:block;font-size:1rem;font-weight:650}.login-role-card small{display:block;font-size:.875rem;color:#65745f;line-height:1.45;margin-top:4px}.login-note{font-size:.875rem;line-height:1.5;color:#617456;background:#f1f6ed;border-radius:8px;padding:12px;margin:3px 0 18px}.login-submit{width:100%;min-height:50px;font-size:1rem}.login-footer{text-align:center;font-size:.8125rem;line-height:1.8;color:#bed0c1;padding:18px 0 0}.session-role{min-height:44px;display:flex;align-items:center;padding:9px 11px;border:1px solid #436450;border-radius:7px;background:#244b3a;color:#eef3eb;font-size:.875rem;font-weight:600;white-space:nowrap}.sidebar-logout{width:100%;margin-top:20px;color:#dcebdc;background:#284c3b;border-color:#41664e;min-height:48px}.sidebar-logout:hover{background:#365d47}.topbar-controls{gap:4px}.topbar #session-logout{color:#e5eedf}.login-card input:focus-visible{outline-offset:2px}.login-card input{max-width:100%}@media(min-width:600px){.login-screen{padding-top:48px}.login-card{padding:29px}.login-brand{margin-bottom:28px}.topbar-controls{gap:9px}}@media(max-width:359px){.login-screen{padding-left:12px;padding-right:12px}.login-card{padding:18px}.login-role-card{padding:12px;gap:10px}.session-role{padding:8px;font-size:.8125rem}.topbar-controls{gap:0}}
