@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/static/fonts/dm-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/static/fonts/manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--ink:#18231f;--muted:#77827c;--line:#e3e9e5;--green:#1e7657;--pale:#f4f7f5;--white:#fff;--amber:#d18c31}*{box-sizing:border-box}body{margin:0;background:#f8faf9;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(calc((100vw - 1180px)/2),32px);gap:54px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-family:Manrope,sans-serif;font-weight:800;font-size:14px;letter-spacing:.08em;text-decoration:none}.brand small{display:block;color:#84918a;font:600 8px 'DM Sans';letter-spacing:.15em;margin-top:2px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--green);color:white;border-radius:9px;font-size:18px}.topbar nav{display:flex;gap:26px;flex:1}.topbar nav a,.breadcrumb a{color:#58645d;text-decoration:none}.topbar nav a:hover,.breadcrumb a:hover{color:var(--green)}.user-menu{display:flex;align-items:center;gap:18px;color:#66716b}.user-menu form{margin:0}.quiet{border:0;background:none;color:var(--green);font:600 13px 'DM Sans';cursor:pointer;padding:4px}.shell{max-width:1180px;margin:44px auto 80px;padding:0 24px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{color:var(--green);font-size:10px;letter-spacing:.16em;font-weight:700;margin:0 0 8px}.page-heading h1,.login-card h1{font:700 32px Manrope,sans-serif;letter-spacing:-.04em;margin:0 0 6px}.muted{color:var(--muted);margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:7px;padding:11px 16px;text-decoration:none;font:600 13px 'DM Sans';cursor:pointer}.primary{background:var(--green);color:white}.primary:hover{background:#175b43}.secondary{color:#48564e;background:#fff;border-color:var(--line)}.small{padding:8px 11px;font-size:12px}.filter-bar{display:flex;align-items:end;gap:12px;background:#fff;border:1px solid var(--line);padding:16px;border-radius:10px;margin-bottom:35px}.filter-bar label,.form-stack label,.form-grid label{display:flex;flex-direction:column;gap:7px;color:#65716a;font-size:11px;font-weight:600;flex:1}.filter-bar select,.filter-bar input,.form-stack input,.form-grid input,.form-grid select,.form-grid textarea,.inline-create input{border:1px solid #dfe6e1;border-radius:6px;background:#fff;padding:10px 11px;color:var(--ink);font:13px 'DM Sans';min-width:0}.filter-bar .search-label{flex:1.5}.section-title{display:flex;justify-content:space-between;align-items:center;margin:0 0 14px}.section-title h2,.panel h2{font:700 17px Manrope,sans-serif;margin:0}.count{display:inline-block;margin-left:5px;color:#7b8981;font:600 11px 'DM Sans';background:#eef2ef;border-radius:12px;padding:4px 7px;vertical-align:2px}.flight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.flight-card,.panel{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.video-thumb{height:180px;display:block;background:#26352e;position:relative;overflow:hidden}.video-thumb video{width:100%;height:100%;object-fit:cover;opacity:.82}.play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:white;background:#ffffff36;border:1px solid #ffffff80;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;padding-left:3px}.direction-chip{position:absolute;right:12px;top:12px;background:#16251ed9;color:white;border-radius:4px;padding:5px 7px;font-size:10px;font-weight:700}.card-body{padding:15px}.card-meta{color:#829087;font-size:10px}.card-body h3{font:700 15px Manrope;margin:7px 0 4px}.card-body h3 a{color:var(--ink);text-decoration:none}.card-body>p{font-size:12px}.tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:11px}.tags span{background:#eff5f1;color:#376d53;padding:4px 7px;border-radius:4px;font-size:10px}.card-footer{border-top:1px solid #eef1ef;margin-top:14px;padding-top:11px;display:flex;justify-content:space-between;color:#7d8982;font-size:10px}.card-footer a,.document-row>a,.table-wrap a{color:var(--green);font-weight:600;text-decoration:none}.docs-title{margin-top:36px}.document-list{border:1px solid var(--line);border-radius:9px;background:white}.document-row{display:flex;align-items:center;gap:12px;padding:12px 15px;border-bottom:1px solid #edf0ee}.document-row:last-child{border-bottom:0}.file-icon{width:38px;height:38px;border-radius:6px;display:grid;place-items:center;background:#f2f4f2;color:#66756b;font-size:9px;font-weight:700}.file-info{flex:1;display:flex;flex-direction:column;gap:4px}.file-info span{font-size:11px;color:var(--muted)}.empty-state{text-align:center;border:1px dashed #d5ded8;background:#fff;border-radius:10px;padding:45px}.empty-icon{font-size:26px;color:var(--green)}.empty-state h3{font:700 16px Manrope}.empty-state p{color:var(--muted)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#edf3ef,#f8faf9)}.login-card{width:min(420px,100%);background:white;padding:38px;border:1px solid var(--line);border-radius:13px;box-shadow:0 15px 50px #253d3010}.brand.large{margin-bottom:38px}.login-card .eyebrow{margin-bottom:8px}.login-card h1{font-size:28px}.login-card>.muted{margin:0 0 25px}.form-stack{display:grid;gap:16px}.form-stack input{padding:12px}.full{width:100%;margin-top:7px}.fineprint{border-top:1px solid var(--line);padding-top:17px;margin:24px 0 0;text-align:center;color:#98a19c;font-size:11px}.flash-stack{display:grid;gap:8px;margin-bottom:18px}.flash{padding:11px 14px;border-radius:7px;background:#e9f4ed;color:#286342}.flash.error{background:#fff0ed;color:#a33e32}.breadcrumb{margin:0 0 22px}.detail-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:18px}.video-panel{background:#15211b;border-radius:10px;overflow:hidden;align-self:start}.video-panel video{display:block;width:100%;max-height:650px}.panel{padding:20px}.panel h2{margin-bottom:14px}.details{margin:18px 0}.details div{padding:9px 0;border-top:1px solid #edf0ee}.details dt{font-size:10px;color:var(--muted)}.details dd{margin:3px 0 0;font-weight:600}.detail-layout aside h3{font:700 13px Manrope}.form-panel{padding:24px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.form-grid input,.form-grid select,.form-grid textarea{width:100%}.form-grid small{font-size:10px;color:var(--muted);font-weight:400}.span-2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.admin-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-bottom:16px}.admin-panel{margin-bottom:16px;min-width:0}.admin-panel .section-title{margin-bottom:16px}.inline-create{display:flex;gap:8px;align-items:center;margin-bottom:15px;flex-wrap:wrap}.inline-create input{flex:1;min-width:110px}.check{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:11px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{color:#839088;font-size:10px;text-transform:uppercase;letter-spacing:.08em}td,th{padding:11px 8px;border-top:1px solid #edf0ee}td{font-size:12px}td small{display:block;color:var(--muted);margin-top:3px}.status{font-size:10px}.status:before{content:'';display:inline-block;width:6px;height:6px;background:#44a276;border-radius:50%;margin-right:5px}.status.inactive:before{background:#a1aaa5}.activity-list{display:grid}.activity-row{display:flex;gap:10px;padding:11px 0;border-top:1px solid #edf0ee}.activity-dot{width:7px;height:7px;margin-top:5px;border-radius:50%;background:#83b89b}.activity-row div{display:grid;gap:4px}.activity-row strong{font-size:12px}.activity-row span{color:var(--muted);font-size:10px}.doc-upload{padding-bottom:14px;border-bottom:1px solid var(--line)}@media(max-width:800px){.topbar{padding:0 18px;gap:18px}.topbar nav{gap:12px}.user-menu>span{display:none}.shell{margin-top:28px}.flight-grid{grid-template-columns:repeat(2,1fr)}.filter-bar{flex-wrap:wrap}.filter-bar label{min-width:30%}.admin-grid{grid-template-columns:1fr}.detail-layout{grid-template-columns:1fr}}@media(max-width:540px){.topbar{gap:12px}.brand{font-size:11px}.brand small{font-size:7px}.topbar nav{font-size:12px;gap:9px}.shell{padding:0 14px}.page-heading{align-items:flex-start;gap:12px;flex-direction:column}.flight-grid{grid-template-columns:1fr}.filter-bar label{min-width:43%}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.login-card{padding:28px}.user-menu{margin-left:auto}}
/* Construct IV project viewer */
.access-page{min-height:100vh;color:#222930;background:linear-gradient(180deg,#e9ecee 0%,#f3f4f3 48%,#6f777b 48.2%,#343c43 100%);position:relative;overflow:hidden}.access-page:before{content:"";position:fixed;inset:78px 0 0;background:linear-gradient(180deg,#e6eaed 0%,#d8dcdf 39%,#a1a7aa 56%,#444d53 100%);z-index:0}.access-page:after{content:"";position:fixed;inset:44% 0 8%;opacity:.35;background:linear-gradient(175deg,transparent 0 36%,#7b8184 36.2% 38%,transparent 38.2%),linear-gradient(0deg,#30383e 0 35%,transparent 35.2%),repeating-linear-gradient(90deg,transparent 0 64px,#6f777b 65px 68px,transparent 69px 116px);clip-path:polygon(0 24%,100% 8%,100% 100%,0 100%);z-index:0}.access-top{height:79px;position:relative;z-index:1;background:#1b2128;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 3.2%}.skybrand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;font:500 21px 'DM Sans',sans-serif;letter-spacing:.2em}.skybrand small{display:block;font-size:8px;letter-spacing:.12em;margin-top:1px}.sky-icon{font-size:42px;line-height:1;font-weight:400}.access-login{color:#e9ebed;text-decoration:none;display:flex;gap:16px;align-items:center}.access-content{position:relative;z-index:1;min-height:calc(100vh - 180px);display:grid;place-items:center;padding:42px 20px}.access-card{width:min(614px,calc(100vw - 32px));padding:64px 76px;background:#ffffffed;border-radius:9px;box-shadow:0 14px 40px #1b22272a;text-align:center}.access-card .eyebrow{color:#898f95;letter-spacing:.17em;margin-bottom:12px}.access-card h1{font:700 38px/1.12 Manrope,sans-serif;letter-spacing:-.035em;margin:0}.access-intro{font-size:16px;line-height:1.55;color:#7d8389;margin:13px 0 32px}.code-entry{width:100%;height:70px;border:1px solid #cbd0d3;background:#fff;border-radius:8px;text-align:center;font:500 23px 'DM Sans';letter-spacing:1.25em;text-indent:1.25em;color:#222930;outline-color:#4286ff;text-transform:uppercase}.code-entry::placeholder{color:#c2c7ca}.access-submit{height:52px;margin-top:26px;width:100%;border:0;border-radius:6px;background:#20262d;color:#fff;font:500 15px 'DM Sans';cursor:pointer}.access-submit span{font-size:20px;margin-left:6px}.or-rule{height:38px;border-bottom:1px solid #d9dddf;margin-bottom:25px;color:#777f85}.or-rule span{position:relative;top:28px;background:#f9faf9;padding:0 16px}.project-info-link{display:block;border:1px solid #e1e4e5;border-radius:6px;background:#f2f3f2;padding:14px;color:#242b31;text-decoration:none}.access-caption{position:absolute;left:3.2%;bottom:40px;color:#eef1f2;font-size:15px;line-height:1.5}.access-caption i{display:block;width:50px;height:1px;background:#fff;margin-top:15px}.access-footer{z-index:1;position:relative;min-height:100px;border-top:1px solid #ffffff3b;padding:20px 3.2%;display:flex;justify-content:space-between;align-items:center;color:#e6e9ea}.access-footer div:first-child{display:grid;gap:2px}.access-footer strong{font-size:13px;letter-spacing:.12em}.access-footer span,.access-footer a{font-size:11px;color:#d4d8da;text-decoration:none}.access-footer div:last-child{display:flex;gap:17px;align-items:center}.access-footer b{height:14px;border-left:1px solid #b7bdc0}.access-error{margin:-15px 0 16px;color:#a43d34;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}
.viewer-page{height:100vh;overflow:hidden;background:#f5f6f5;color:#1e252b;display:flex;font-family:'DM Sans',sans-serif}.viewer-sidebar{width:198px;flex:0 0 198px;background:#1b2128;color:#f1f3f4;display:flex;flex-direction:column;border-right:1px solid #353b42}.side-brand{height:70px;padding:0 18px;font-size:16px;letter-spacing:.16em;border-bottom:1px solid #353b42}.side-brand .sky-icon{font-size:34px}.side-brand small{font-size:6px}.side-project{padding:20px 19px 16px;display:grid;gap:4px}.project-thumb{width:94px;height:59px;border-radius:5px;margin-bottom:7px;background:linear-gradient(145deg,#9ca8a7,#deddd1 48%,#737c78);display:grid;place-items:center;font-size:28px;color:#38453f}.side-project strong{font-size:14px;font-weight:500}.side-project>span{font-size:11px;color:#aeb5b9}.side-nav{display:grid;gap:3px;padding:0 9px}.side-nav a{height:43px;display:flex;align-items:center;gap:12px;padding:0 11px;text-decoration:none;color:#d4d8da;border-radius:5px;font-size:13px}.side-nav a span{width:18px;font-size:17px}.side-nav a.selected,.side-nav a:hover{background:#373e45;color:white}.side-bottom{margin-top:auto;border-top:1px solid #353b42;padding:16px 18px;display:flex;align-items:center;gap:10px;font-size:10px}.side-bottom small{display:block;color:#8e989e;font-size:7px;letter-spacing:.1em;margin-top:3px}.avatar{width:31px;height:31px;border-radius:50%;background:#4c555c;display:grid;place-items:center}.viewer-main{flex:1;min-width:0;display:flex;flex-direction:column;height:100vh}.viewer-header{height:103px;flex:0 0 103px;display:flex;justify-content:space-between;align-items:flex-start;padding:13px 22px 0;background:#fff;border-bottom:1px solid #e1e4e2}.viewer-header h1{font:700 22px Manrope,sans-serif;margin:0 0 11px}.viewer-header h1 span{font-size:15px}.viewer-tabs{display:flex;gap:26px;height:44px}.viewer-tabs a{position:relative;text-decoration:none;color:#596168;padding:9px 5px 12px;font-size:13px}.viewer-tabs a.active{color:#171d22;font-weight:600}.viewer-tabs a.active:after{content:"";position:absolute;bottom:0;height:2px;background:#252c32;left:0;right:0}.header-actions{display:flex;gap:15px;align-items:center}.viewer-search{width:245px;height:37px;border:1px solid #e0e3e1;border-radius:6px;display:flex;align-items:center;gap:9px;padding:0 11px;color:#222;font-size:21px}.viewer-search input{border:0;outline:0;width:100%;font:12px 'DM Sans';background:transparent}.access-share{border:0;background:transparent;color:#424a50;font:12px 'DM Sans';cursor:pointer;white-space:nowrap}.viewer-workspace{display:grid;grid-template-columns:185px minmax(300px,1fr) 345px;grid-template-rows:minmax(340px,1fr) 190px;flex:1;min-height:0}.date-rail{grid-column:1;grid-row:1/3;background:#fff;border-right:1px solid #e5e7e5;padding:27px 12px 15px 19px;overflow:auto}.date-rail h2{font:600 15px Manrope;margin:0 0 17px}.date-item{height:44px;border-radius:6px;display:flex;justify-content:space-between;align-items:center;padding:0 11px;text-decoration:none;color:#292f34;font-size:12px;margin-bottom:3px}.date-item small{color:#7c858b}.date-item.current{background:#f1ebdf}.rail-empty{color:#8d9691;font-size:11px}.site-stage{position:relative;grid-column:2;grid-row:1;overflow:hidden;margin:0 9px 0 0;background:#e4e9e4}.stage-toolbar{position:absolute;z-index:1;left:18px;right:20px;top:18px;display:flex;justify-content:space-between;align-items:center}.stage-label{font-size:10px;font-weight:700;letter-spacing:.13em;color:#414b44;background:#ffffffd9;padding:9px 12px;border-radius:4px}.map-toggle{background:#fff;border-radius:5px;box-shadow:0 2px 8px #0002;padding:4px;display:flex;font-size:10px}.map-toggle b,.map-toggle span{padding:8px 11px}.map-toggle b{background:#252c32;color:white;border-radius:3px}.site-plan{width:100%;height:100%;object-fit:cover}.compass{position:absolute;border-radius:50%;width:37px;height:37px;background:#242c31;color:#fff;border:2px solid white;display:grid;place-items:center;font-weight:700;font-size:11px;box-shadow:0 2px 8px #0003}.compass span{position:absolute;font-size:17px;color:#242c31}.compass.north{top:18%;left:50%}.compass.north span{top:29px}.compass.south{bottom:17%;left:50%}.compass.south span{bottom:28px}.compass.west{left:13%;top:48%}.compass.west span{left:31px}.compass.east{right:13%;top:48%}.compass.east span{right:31px}.scale-mark{position:absolute;left:18px;bottom:17px;padding:8px;background:#293138de;color:white;font-size:10px;border-radius:4px}.stage-foot{position:absolute;bottom:18px;right:18px;color:#56625a;font-size:10px}.flight-detail{grid-column:3;grid-row:1/3;background:#fff;border-left:1px solid #e4e7e5;padding:22px 19px;overflow:auto}.detail-heading{display:flex;justify-content:space-between;align-items:center}.detail-date{font-size:11px;color:#69737a}.detail-heading h2{font:700 20px Manrope;margin:3px 0 12px}.detail-arrows{display:flex;gap:16px}.detail-arrows a{font-size:26px;text-decoration:none;color:#222}.detail-pills{display:flex;gap:8px;margin-bottom:15px}.detail-pills span{font-size:10px;background:#f0f1ef;padding:6px 10px;border-radius:14px}.preview-video{background:#182025;border-radius:6px;overflow:hidden;aspect-ratio:16/9}.preview-video video{width:100%;height:100%;object-fit:contain}.flight-facts{margin:18px 0 12px}.flight-facts div{display:grid;grid-template-columns:42% 58%;margin:11px 0;font-size:11px}.flight-facts dt{color:#687179}.flight-facts dd{margin:0;color:#252c30}.detail-description{font-size:11px;line-height:1.55;color:#4e585e}.detail-tags{display:flex;align-items:center;gap:7px;margin:14px 0;font-size:10px}.detail-tags span{color:#687179;margin-right:8px}.detail-tags b{background:#f0f1ef;border-radius:12px;padding:6px 10px;font-weight:500}.detail-actions{display:flex;gap:10px;margin-top:16px}.detail-actions>a,.outline-share{height:40px;display:flex;justify-content:center;align-items:center;flex:1;border:1px solid #20272d;border-radius:5px;background:#20272d;color:white;text-decoration:none;font:500 11px 'DM Sans'}.outline-share{background:#fff;color:#30383d;border-color:#e0e3e1;cursor:pointer}.no-flight{height:100%;display:grid;align-content:center;text-align:center;color:#69736c}.no-flight>span{font-size:32px}.no-flight h2{font:600 16px Manrope}.no-flight p{font-size:11px}.filmstrip{grid-column:2;grid-row:2;background:#fff;border-top:1px solid #e3e6e4;padding:12px 17px;overflow:hidden}.filmstrip-heading{display:flex;align-items:center;gap:11px;font-size:12px;margin-bottom:9px}.filmstrip-heading>span{color:#77817b;font-size:10px}.filmstrip-heading>div{margin-left:auto;display:flex;gap:14px}.filmstrip-heading a{width:25px;height:25px;border:1px solid #e3e6e4;border-radius:50%;display:grid;place-items:center;text-decoration:none;color:#323a3f}.filmstrip-cards{display:flex;gap:10px;overflow:auto;padding-bottom:4px}.film-card{min-width:136px;max-width:170px;flex:1;text-decoration:none;color:#242b30}.film-card>div{position:relative;height:69px;background:#dce2de;border-radius:5px;overflow:hidden}.film-card video{width:100%;height:100%;object-fit:cover}.film-card>div span{position:absolute;right:5px;bottom:5px;background:#182025d9;color:#fff;padding:3px 5px;border-radius:3px;font-size:9px}.film-card strong,.film-card small{display:block;margin-top:5px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.film-card small{margin-top:2px;color:#707a75}.film-card.chosen>div{outline:2px solid #4c8ff4;outline-offset:-2px}.content-tab{flex:1;overflow:auto;padding:35px 4%;background:#fafbfa}.content-tab h2{font:700 25px Manrope;margin:0 0 23px}.timeline-row{display:flex;align-items:center;gap:18px;padding:18px;border:1px solid #e2e6e3;background:white;color:#262d32;text-decoration:none;margin-bottom:8px;border-radius:6px}.timeline-row span{color:#77817a;flex:1}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:15px}.media-tile{background:#fff;border:1px solid #e1e5e2;border-radius:7px;overflow:hidden;text-decoration:none;color:#222b30;padding-bottom:12px}.media-tile video{width:100%;height:135px;object-fit:cover;background:#252d31}.media-tile strong,.media-tile span{display:block;padding:6px 12px 0;font-size:12px}.media-tile span{font-size:10px;color:#758078}.viewer-docs{max-width:900px}.share-modal[hidden]{display:none}.share-modal{position:fixed;inset:0;background:#11192380;z-index:10;display:grid;place-items:center;padding:18px}.share-card{position:relative;background:#fff;border-radius:10px;padding:30px;width:min(440px,100%);box-shadow:0 20px 70px #0003}.share-card h2{font:700 22px Manrope;margin:0 0 8px}.share-card>p:not(.eyebrow){color:#6d7771;font-size:12px;line-height:1.5;margin-bottom:20px}.share-card label{display:block;font-size:11px;font-weight:600;margin:14px 0}.copy-row{display:flex;margin-top:6px}.copy-row input{flex:1;min-width:0;padding:10px;border:1px solid #dfe4e1;border-radius:5px 0 0 5px;font-size:11px;background:#f8f9f8}.copy-row button{border:1px solid #dfe4e1;border-left:0;background:#f2f4f2;border-radius:0 5px 5px 0;padding:0 13px;cursor:pointer}.share-card>small{font-size:10px;color:#89928d}.modal-close{position:absolute;right:14px;top:12px;border:0;background:none;font-size:23px;cursor:pointer;color:#626c66}.project-access-panel{padding:20px}.project-access-panel .section-title{align-items:flex-start}.project-access-panel .section-title .muted{font-size:11px;margin-top:6px}.access-project-list{display:grid}.access-project-row{display:flex;align-items:center;gap:13px;padding:12px 0;border-top:1px solid #edf0ee}.access-project-row .file-info{min-width:170px}.access-code-label{background:#f0f3f1;padding:7px 10px;border-radius:5px;letter-spacing:.18em;color:#27332c}.access-project-row form{margin-left:auto}.access-project-row .quiet{font-size:11px}.copy-link{white-space:nowrap}
@media(max-width:1050px){.viewer-sidebar{width:70px;flex-basis:70px}.side-brand{padding:0 16px}.side-brand>span:not(.sky-icon),.side-project,.side-nav a:not(.selected){display:none}.side-nav{padding:0 10px}.side-nav a{font-size:0;justify-content:center;padding:0}.side-nav a span{font-size:18px}.side-bottom{padding:12px;justify-content:center}.side-bottom>span:last-child{display:none}.viewer-workspace{grid-template-columns:140px minmax(250px,1fr) 300px}.date-rail{padding-left:10px}.viewer-header{padding-left:15px}.viewer-search{width:180px}}@media(max-width:760px){.viewer-page{overflow:auto;height:auto;min-height:100vh}.viewer-sidebar{width:55px;flex-basis:55px;min-height:100vh}.viewer-main{height:auto;min-height:100vh}.viewer-header{height:auto;min-height:94px;flex-basis:auto}.header-actions{gap:5px}.viewer-search{width:36px;border:0}.viewer-search input{display:none}.viewer-workspace{display:flex;flex-direction:column;overflow:visible}.date-rail{display:flex;gap:5px;overflow:auto;padding:9px;border:0}.date-rail h2{display:none}.date-item{flex:0 0 auto;margin:0}.site-stage{height:360px;flex:none;margin:0}.flight-detail{border:0;border-top:1px solid #e3e6e4;overflow:visible}.filmstrip{order:3;overflow:visible}.filmstrip-cards{overflow:auto}.viewer-tabs{gap:8px}.viewer-tabs a{font-size:11px}.access-share{font-size:0}.access-share:first-letter{font-size:16px}.access-card{padding:43px 26px}.access-card h1{font-size:31px}.access-footer{padding:17px;gap:16px}.access-footer div:last-child{gap:8px}.access-footer a{font-size:9px}.access-caption{bottom:17px}.access-project-row{flex-wrap:wrap}.access-project-row form{margin-left:0}.access-project-row .file-info{width:100%}}
.new-viewer-project{display:flex;gap:9px;align-items:center;padding:12px;background:#f6f8f6;border-radius:6px;margin:2px 0 12px}.new-viewer-project label{font-size:11px;font-weight:600;color:#5d6962}.new-viewer-project input{flex:1;max-width:300px;border:1px solid #dfe6e1;border-radius:5px;padding:9px 10px;font:12px 'DM Sans'}
/* Batch flight intake and editable site map */
.batch-upload-panel,.map-admin-panel{padding:22px;margin-bottom:16px}.batch-upload-panel .section-title,.map-admin-panel .section-title{align-items:flex-start}.batch-upload-panel .section-title .muted,.map-admin-panel .section-title .muted{font-size:11px;margin-top:6px}.batch-shared-fields{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin:16px 0}.batch-shared-fields label,.pin-form label{display:grid;gap:6px;color:#5f6b64;font-size:11px;font-weight:600}.batch-shared-fields input,.batch-shared-fields select,.pin-form input,.pin-form select{width:100%;border:1px solid #dfe6e1;border-radius:5px;padding:10px;background:#fff;color:#202923;font:12px 'DM Sans'}.video-dropzone,.map-dropzone{position:relative;min-height:132px;border:1px dashed #aabbb0;background:#f7faf8;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#344c3d;cursor:pointer;text-align:center}.video-dropzone.dragging,.map-dropzone:focus-within{background:#edf6f0;border-color:#287653}.video-dropzone input,.map-dropzone input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.video-dropzone .drop-icon,.map-dropzone .drop-icon{font-size:23px;color:#34825e}.video-dropzone strong,.map-dropzone strong{font-size:12px}.video-dropzone small,.map-dropzone small{font-size:10px;color:#839087}.map-dropzone button{pointer-events:none;z-index:1}.batch-file-list{display:grid;gap:7px;margin-top:12px}.batch-file-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) 120px;align-items:center;gap:10px;background:#f8faf8;border:1px solid #e6ebe7;border-radius:6px;padding:8px}.batch-file-meta{min-width:0;display:grid;gap:3px}.batch-file-meta strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.batch-file-meta small{color:#87918b;font-size:9px}.batch-file-row input,.batch-file-row select{min-width:0;border:1px solid #dfe6e1;border-radius:5px;padding:8px;background:white;font:11px 'DM Sans'}.batch-upload-panel .form-actions{margin-top:14px}.map-project-picker{display:grid;gap:6px;max-width:320px;margin:14px 0;color:#5f6b64;font-size:11px;font-weight:600}.map-project-picker select{padding:9px;border:1px solid #dfe6e1;border-radius:5px;background:#fff}.map-dropzone{min-height:114px;margin:10px 0 14px}.map-pin-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(190px,.5fr);gap:15px;align-items:start}.admin-map-canvas{position:relative;aspect-ratio:16/9;min-height:180px;background:#e8ece9;overflow:hidden;border:1px solid #d8dfda;border-radius:6px;cursor:crosshair}.admin-map-canvas>img{width:100%;height:100%;object-fit:fill}.map-pin,.viewer-map-pin{position:absolute;transform:translate(-50%,-100%);z-index:2;display:grid;justify-items:center;pointer-events:none}.map-pin>b,.viewer-map-pin>b{min-width:27px;height:27px;padding:0 5px;border-radius:50%;transform:none;display:grid;place-items:center;background:#20282f;color:#fff;border:2px solid #fff;box-shadow:0 2px 7px #0004;font-size:9px}.map-pin>small,.viewer-map-pin>small{background:#192229df;color:white;border-radius:3px;padding:3px 5px;margin-top:3px;white-space:nowrap;font-size:8px}.pin-preview{position:absolute;transform:translate(-50%,-50%);z-index:3;border:2px solid #fff;border-radius:50%;width:27px;height:27px;background:#2e83de;color:#fff;display:grid;place-items:center;font-size:8px;box-shadow:0 0 0 5px #2e83de44;pointer-events:none}.pin-form{background:#f7f9f7;border:1px solid #e4e9e5;border-radius:6px;padding:14px;display:grid;gap:11px}.pin-form .eyebrow{margin:0}.pin-form .muted{font-size:10px;line-height:1.4}.pin-form button:disabled{opacity:.45;cursor:not-allowed}.pin-list{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;font-size:10px}.pin-list>strong{margin-right:4px}.pin-list>span{display:flex;gap:5px;align-items:center;padding:5px 7px;background:#f0f3f1;border-radius:14px}.pin-list form{display:inline}.pin-list button{border:0;background:transparent;color:#68736c;cursor:pointer;font-size:14px;line-height:1}.map-empty{font-size:11px;margin:10px 0}.site-map-img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.viewer-map-pin{z-index:2}.viewer-map-pin>b{width:34px;height:34px;font-size:10px}.viewer-map-pin>small{font-size:9px}.viewer-map-pin:hover{z-index:4}.viewer-map-pin:hover>small{display:block}.viewer-map-pin:not(:hover)>small{display:none}
@media(max-width:760px){.batch-shared-fields{grid-template-columns:repeat(2,minmax(120px,1fr))}.batch-file-row{grid-template-columns:1fr 1fr}.batch-file-meta{grid-column:1/-1}.map-pin-layout{grid-template-columns:1fr}.admin-map-canvas{min-height:150px}.map-admin-panel,.batch-upload-panel{padding:15px}}
/* Simple, guided multi-flight upload page */
.upload-heading{margin:3px 0 24px}.upload-heading h1{font:700 32px Manrope,sans-serif;letter-spacing:-.04em;margin:0 0 6px}.footage-form{padding:25px}.footage-shared{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-bottom:22px;border-bottom:1px solid var(--line)}.footage-shared label,.video-label-fields label{display:grid;gap:7px;color:#5f6b64;font-size:11px;font-weight:600}.footage-shared input,.footage-shared select,.video-label-fields input,.video-label-fields select{width:100%;border:1px solid #dfe6e1;border-radius:6px;padding:11px 12px;background:#fff;color:var(--ink);font:13px 'DM Sans'}.video-rows-heading{display:flex;align-items:center;justify-content:space-between;margin:22px 0 13px}.video-rows-heading h2{font:700 16px Manrope;margin:0 0 4px}.video-rows-heading .muted{font-size:11px}.upload-count{font-size:11px;color:#627068;background:#eff3f0;padding:6px 10px;border-radius:16px}.video-rows{display:grid;gap:11px}.video-upload-row{display:grid;grid-template-columns:minmax(250px,1.15fr) minmax(260px,1fr) 34px;gap:13px;align-items:center;padding:12px;border:1px solid #e4e9e5;border-radius:8px;background:#fff}.video-dropcard{height:106px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;border:1px dashed #b5c4ba;border-radius:7px;background:#f8faf8;color:#3d614b;cursor:pointer;overflow:hidden}.video-dropcard input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.video-dropcard.dragging,.video-dropcard.has-file{background:#eff7f1;border-color:#47825f}.dropcard-icon{font-size:19px;color:#34825e}.dropcard-name{max-width:90%;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-dropcard small{font-size:9px;color:#849087}.video-label-fields{display:grid;gap:10px}.video-label-fields label{gap:5px}.video-label-fields input,.video-label-fields select{padding:9px 10px;font-size:12px}.remove-video{width:30px;height:30px;border:1px solid #e5e9e6;border-radius:50%;background:white;color:#7f8982;font-size:19px;cursor:pointer}.remove-video:disabled{opacity:.25;cursor:default}.add-video-row{margin-top:12px;padding:9px 12px;border:1px dashed #c8d2cb;border-radius:6px;background:#fff;color:#316d4e;font:600 11px 'DM Sans';cursor:pointer}.add-video-row:hover{background:#f4f8f5}.footage-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}@media(max-width:720px){.footage-form{padding:16px}.footage-shared{grid-template-columns:1fr}.video-upload-row{grid-template-columns:1fr 32px}.video-dropcard{grid-column:1/2}.video-label-fields{grid-column:1/2;grid-row:2}.remove-video{grid-column:2;grid-row:1;align-self:start}.video-rows-heading{align-items:flex-start}}
/* Keep the map picker separate from its submit button so it cannot intercept the click. */
.map-upload-form{margin:10px 0 14px}.map-upload-form .map-dropzone{margin:0}.map-upload-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:10px}.map-upload-actions .muted{font-size:10px}.map-dropzone{display:flex;width:100%;font-family:'DM Sans',sans-serif;font-weight:400}
/* Map image, pins, and path stay in the same responsive coordinate space. */
.admin-map-canvas{width:100%;max-width:100%;height:auto}.admin-map-canvas>img,.site-map-img{object-fit:fill}.map-pin,.viewer-map-pin{transform:translate(-50%,-50%)}.critical-path-line{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}.critical-path-line polyline{fill:none;stroke:#f36b3f;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 1.2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #0008)}.viewer-map-pin{z-index:2}.critical-path-line+ .viewer-map-pin,.critical-path-line+ .map-pin{z-index:2}

/* Project reference modules and date-linked flight paths */
.site-module-chooser{margin:16px 0;padding:16px;border:1px solid #e4eae5;border-radius:8px;background:#f8faf8}.site-module-chooser h3{font:700 16px Manrope;margin:0 0 5px}.site-module-chooser>.muted{font-size:11px}.site-module-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.site-module-options button{display:grid;grid-template-columns:25px 1fr;align-items:center;gap:2px 8px;text-align:left;padding:10px;border:1px solid #e1e7e2;border-radius:6px;background:#fff;color:#36433b;cursor:pointer}.site-module-options button.selected{border-color:#4b9467;background:#f1f8f3;box-shadow:0 0 0 1px #4b946722}.site-module-options button>strong{font:700 11px Manrope}.site-module-options button>small{grid-column:2;font-size:9px;color:#7f8982}.site-setup-form{display:flex;align-items:flex-end;gap:14px;margin:12px 0;padding:14px;background:#f8faf8;border:1px solid #e7ece8;border-radius:7px}.site-address-controls{position:relative;display:grid;gap:5px;flex:1;max-width:560px}.site-address-controls label,.path-save-form label,.path-date-label{display:grid;gap:5px;color:#5f6b64;font-size:10px;font-weight:600}.site-address-row{display:flex;gap:7px}.site-address-row input,.path-save-form input,.path-save-form select,.path-date-label input{min-width:0;border:1px solid #dfe6e1;border-radius:5px;padding:9px;background:#fff;font:11px 'DM Sans'}.site-address-controls>small{font-size:9px;color:#87918b}.site-address-results{position:absolute;top:54px;left:0;right:0;z-index:1000;display:grid;background:#fff;border:1px solid #dfe5e0;border-radius:6px;box-shadow:0 10px 25px #15251d22;overflow:hidden}.site-address-results button{padding:9px 11px;border:0;border-bottom:1px solid #eef1ef;background:#fff;text-align:left;font:11px 'DM Sans';cursor:pointer}.site-address-results button:hover{background:#f1f7f2}.site-setup-form[hidden],.site-address-controls[hidden],.map-upload-form[hidden],#legacy-map-editor[hidden]{display:none!important}.map-upload-form{margin:12px 0}.flight-path-admin{margin-top:22px;padding:16px;border:1px solid #e2e8e3;border-radius:8px;background:#fff}.flight-path-admin .section-title h3{font:700 16px Manrope;margin:0 0 4px}.flight-path-admin .section-title .muted{font-size:10px}.path-date-label{min-width:155px}.path-date-label input{padding:8px}.path-editor-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:10px 0}.path-editor-controls .muted{font-size:10px;margin-left:auto}.path-editor-controls button[hidden]{display:none!important}#path-map{height:min(56vh,480px);min-height:340px;position:relative;overflow:hidden;border:1px solid #dce3de;border-radius:7px;background:#e8eeea;z-index:0}.leaflet-container{font-family:'DM Sans',sans-serif}.reference-map-hidden:not(.show-base-map) .leaflet-basemap-pane{visibility:hidden}.path-map-empty{position:absolute;z-index:500;left:50%;top:50%;transform:translate(-50%,-50%);width:min(330px,85%);padding:13px 16px;border:1px solid #dce4dd;border-radius:7px;background:#ffffffed;color:#637067;text-align:center;font-size:11px;line-height:1.45;pointer-events:none}.path-map-empty[hidden]{display:none}.route-edit-point{background:transparent;border:0}.route-edit-point span{display:grid;place-items:center;width:24px;height:24px;border:2px solid #fff;border-radius:50%;background:#e87345;color:#fff;font-size:9px;font-weight:700;box-shadow:0 1px 6px #0005}.path-save-form{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.4fr auto;gap:9px;align-items:end;margin:12px 0}.saved-flight-paths{display:grid;gap:6px;margin-top:12px}.saved-path-row{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid #e7ece8;border-radius:6px;background:#fbfcfb}.saved-path-row.selected{border-color:#8eb29a;background:#f4f9f5}.saved-path-select{flex:1;padding:4px;border:0;background:transparent;text-align:left;color:#344139;font:600 10px 'DM Sans';cursor:pointer}.saved-path-row form{margin:0}.saved-path-row .quiet{font-size:10px}.site-module-options button:focus-visible,.saved-path-select:focus-visible{outline:2px solid #4389d9;outline-offset:2px}
@media(max-width:760px){.site-module-options{grid-template-columns:1fr}.site-setup-form{align-items:stretch;flex-direction:column}.path-save-form{grid-template-columns:1fr 1fr}.path-save-form label:first-child{grid-column:1/-1}.path-editor-controls .muted{width:100%;margin:3px 0}.flight-path-admin{padding:12px}#path-map{height:370px;min-height:300px}}

/* The project viewer uses a live map as the stage surface for every module. */
[hidden]{display:none!important}
#viewer-site-map{position:absolute;inset:0;overflow:hidden;background:#e7ece8}
#viewer-live-map{position:absolute;inset:0;width:100%;height:100%;z-index:1}
#viewer-site-map .stage-toolbar{z-index:600;pointer-events:none}
#viewer-site-map .stage-toolbar>*{pointer-events:auto}
.viewer-map-empty{position:absolute;z-index:500;left:50%;top:50%;transform:translate(-50%,-50%);width:min(340px,85%);padding:14px 18px;border:1px solid #dce4dd;border-radius:8px;background:#ffffffed;color:#59675e;text-align:center;font-size:12px;box-shadow:0 8px 28px #18231f20}
.viewer-map-empty[hidden]{display:none}
.viewer-route-start{background:transparent;border:0}
.viewer-route-start span,.viewer-photo-pin span{display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border:2px solid #fff;border-radius:20px;background:#20282f;color:#fff;font:700 11px 'DM Sans';white-space:nowrap;box-shadow:0 2px 9px #0005}
.viewer-route-start span{transform:translateX(-50%)}
.viewer-photo-pin{background:transparent;border:0}
.viewer-photo-pin span{width:32px;min-width:32px;height:32px;padding:0;border-radius:50%;background:#37835f}
.leaflet-pane{z-index:1}
.admin-heading-actions{display:flex;align-items:center;gap:9px}
@media(max-width:540px){.admin-heading-actions{width:100%;flex-wrap:wrap}}
.upload-heading-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.upload-heading-row .button{flex:none}@media(max-width:540px){.upload-heading-row{align-items:flex-start;flex-direction:column}}
.saas-card{max-width:560px}.saas-card .fineprint a{color:#2f684f}.saas-name-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.saas-interval{display:flex;gap:24px;border:1px solid #dce4df;border-radius:10px;padding:12px 14px}.saas-interval legend{padding:0 5px;color:#5e7067;font-size:13px}.saas-interval label{display:flex;align-items:center;gap:7px}.saas-card textarea,.saas-card select{font:inherit;width:100%;padding:11px 12px;border:1px solid #dce4df;border-radius:8px;background:#fff}.saas-card textarea{resize:vertical}@media(max-width:520px){.saas-name-row{grid-template-columns:1fr}.saas-interval{flex-wrap:wrap}}
.owner-company-info{display:grid;gap:6px;min-width:0}.owner-company-limits summary{cursor:pointer;color:#426b59;font-size:12px}.owner-company-limits .owner-plan-form{max-width:280px;padding:12px;border:1px solid #dce4df;border-radius:10px;background:#fbfcfb}.owner-company-limits .owner-plan-form small{line-height:1.4}
.owner-readiness{margin-bottom:20px}.readiness-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px}.readiness-heading .eyebrow{margin:0 0 5px}.readiness-heading h2{margin:0}.readiness-heading>p{margin:4px 0 0;font-size:13px}.readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.readiness-card{min-width:0;padding:16px;border:1px solid #dce4df;border-radius:10px;background:#f8faf8}.readiness-card>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.readiness-card p{margin:9px 0 0;color:#64746d;font-size:13px;line-height:1.5}.readiness-state{font-size:12px;font-weight:700;padding:4px 8px;border-radius:99px;white-space:nowrap;background:#faf1de;color:#79561c}.readiness-ready{border-color:#c6e5d2;background:#f5fbf7}.readiness-ready .readiness-state{background:#e4f4e9;color:#226746}.readiness-local .readiness-state{background:#eaf0f3;color:#536976}.readiness-card a{display:inline-block;margin-top:9px;font-size:13px;font-weight:700;color:#246a50}@media(max-width:700px){.readiness-heading{display:block}.readiness-grid{grid-template-columns:1fr}}
.billing-summary{margin:0 0 22px;padding:18px 20px;border:1px solid #dce4df;border-radius:10px;background:#fff}.billing-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.billing-summary-heading .eyebrow{margin:0 0 3px}.billing-summary-heading h2{margin:0;font-size:18px}.billing-status{padding:5px 10px;border-radius:99px;background:#e7f5ec;color:#226746;font-size:12px;font-weight:700;white-space:nowrap}.billing-status-past-due,.billing-status-pending,.billing-status-checkout-started{background:#fff3d9;color:#79561c}.billing-status-canceled,.billing-status-unpaid,.billing-status-billing-suspended{background:#fbe9e9;color:#8d3838}.billing-summary-details{display:flex;flex-wrap:wrap;gap:22px;margin:14px 0}.billing-summary-details>div{display:grid;gap:3px}.billing-summary-details span{color:#718079;font-size:12px}.billing-summary-details strong{font-size:14px}.billing-summary-details .billing-warning strong{color:#9a4b30}.billing-help{margin:10px 0 0;color:#79561c;font-size:13px}@media(max-width:600px){.billing-summary{padding:15px}.billing-summary-details{display:grid;grid-template-columns:1fr 1fr;gap:12px}}

.storage-summary{display:flex;align-items:center;gap:24px;margin:0 0 20px;padding:15px 18px;background:#f5f8f6;border:1px solid #e0e7e2;border-radius:10px}.storage-summary>div{display:flex;flex:1;align-items:center;justify-content:space-between;gap:16px}.storage-summary strong{font-size:14px}.storage-summary span{color:#718078;font-size:13px}.storage-summary progress{width:min(240px,35%);height:8px;accent-color:#378963}@media(max-width:640px){.storage-summary{align-items:stretch;flex-direction:column;gap:10px}.storage-summary progress{width:100%}}

.billing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.billing-actions form{margin:0}.billing-refund-status{display:grid;gap:4px;margin-top:14px;padding:12px 14px;border-radius:9px;background:#f5f8f6}.billing-refund-status span{color:#718079;font-size:13px}.billing-refund-status p{margin:4px 0 0;color:#59665f;font-size:13px}.storage-summary{flex-wrap:wrap}.storage-warning{flex-basis:100%;margin:0;color:#8a5a12;font-size:13px;font-weight:700}.storage-warning-critical{color:#a12d2d}.billing-action-card{max-width:760px}.billing-review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:20px 0}.billing-review-list>div{display:grid;gap:3px;padding:12px 14px;border-radius:8px;background:#f5f8f6;min-width:0}.billing-review-list dt{color:#718079;font-size:12px}.billing-review-list dd{margin:0;overflow-wrap:anywhere;font-weight:650}.billing-policy-note{margin:18px 0;padding:16px;border:1px solid #dce4df;border-radius:9px;background:#fbfcfb}.billing-policy-note p{margin:4px 0 14px;color:#59665f;font-size:14px}.billing-policy-note p:last-child{margin-bottom:0}.billing-action-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.billing-invoice-list{display:grid;gap:10px}.billing-invoice-row{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:18px;padding:16px 18px;border:1px solid #dce4df;border-radius:10px;background:#fff}.billing-invoice-row>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.billing-invoice-row>div:first-child{display:grid;gap:3px}.billing-invoice-row>div:first-child span{color:#718079;font-size:13px}.owner-refund-list{display:grid;gap:14px}.owner-refund-card{padding:18px;border:1px solid #dce4df;border-radius:10px;background:#fff}.owner-refund-card h3{margin:0 0 8px}.owner-refund-card p{margin:6px 0}.owner-refund-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.owner-refund-meta>div{display:grid;gap:3px}.owner-refund-meta span{color:#718079;font-size:12px}.owner-refund-actions{display:grid;gap:10px;margin-top:12px}.owner-refund-actions textarea{width:100%;min-height:72px}.owner-refund-actions input[type=number]{max-width:220px}.owner-refund-actions .button-row{display:flex;flex-wrap:wrap;gap:8px}.owner-refund-actions form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}.owner-plan-preserved{padding:16px;border-radius:9px;background:#f5f8f6;color:#48564e}.owner-plan-preserved strong{display:block;margin-bottom:5px}
@media(max-width:640px){.billing-review-list{grid-template-columns:1fr}.billing-invoice-row{grid-template-columns:1fr;gap:12px}.owner-refund-meta{grid-template-columns:1fr 1fr}.owner-refund-actions form{align-items:stretch}.billing-action-buttons{justify-content:stretch}.billing-action-buttons>*{flex:1;text-align:center}}
.owner-storage-cell{display:grid;gap:4px;min-width:0}.owner-storage-cell>span{font-weight:600}.owner-storage-cell progress{width:min(180px,100%);height:7px;accent-color:#378963}.owner-storage-cell small{color:#718079}.storage-warning{color:#9a5a12}.owner-project-storage{font-size:12px}.owner-project-storage summary{width:max-content;color:#376b55;cursor:pointer}.owner-project-rows{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;margin-top:8px;padding:9px;background:#f7faf8;border-radius:8px}.owner-project-rows span:nth-child(even){font-variant-numeric:tabular-nums;color:#536969}
.upload-transfer{display:grid;grid-template-columns:minmax(100px,240px) 1fr auto;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;border:1px solid #dce4dd;border-radius:8px;background:#f6f9f6;color:#53665d;font-size:13px}.upload-transfer[hidden],.upload-transfer button[hidden]{display:none}.upload-transfer progress{width:100%;height:10px;accent-color:#18a99d}.upload-transfer button{white-space:nowrap}@media(max-width:620px){.upload-transfer{grid-template-columns:1fr}.upload-transfer progress{grid-row:2}}
.viewer-expiry{display:grid;gap:4px;min-width:145px;font-size:10px;font-weight:600;color:#596a61}.viewer-expiry input{min-width:0;border:1px solid #dfe6e1;border-radius:5px;padding:8px;background:#fff;font:11px 'DM Sans'}.revoke-viewer{color:#9b3f43}.access-project-row>form:last-child{margin-left:0}@media(max-width:760px){.new-viewer-project{flex-wrap:wrap}.new-viewer-project .viewer-expiry{flex:1 1 160px}.access-project-row .viewer-expiry{width:100%}}
.owner-feature-options{display:flex;flex-wrap:wrap;gap:9px 18px;margin:4px 0 12px;padding:12px;border:1px solid #dce4df;border-radius:9px}.owner-feature-options legend{padding:0 6px;color:#53665d;font-size:13px;font-weight:700}.owner-feature-options .owner-check{display:inline-flex;align-items:center;gap:7px}
.viewer-photo-pin-gallery span{width:24px;min-width:24px;height:24px;border:2px solid #fff;border-radius:50%;transform:none;background:#f2bf3b;color:#24313a;font-size:14px;box-shadow:0 2px 8px #0006}
.viewer-photo-popup{min-width:190px;max-width:280px;color:#202a25;font:13px 'DM Sans',sans-serif}
.viewer-photo-popup>strong{display:block;margin:0 0 8px;font-size:14px}
.viewer-photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:230px;overflow:auto}
.viewer-photo-gallery a{min-width:0;color:#415047;text-decoration:none;font-size:10px}
.viewer-photo-gallery img{display:block;width:100%;height:76px;object-fit:cover;border-radius:5px;background:#edf0ed}
.viewer-photo-gallery a span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px}
.viewer-photo-empty{margin:0;color:#7b8780;font-size:11px}
/* Checkout review keeps recurring charges and cancellation terms visible before payment. */
.checkout-review { max-width: 48rem; }
.checkout-plan-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; margin: 1.5rem 0; }
.checkout-plan-summary > div { display: grid; gap: .25rem; padding: 1rem; border: 1px solid var(--line, #dce4e1); border-radius: .8rem; }
.checkout-plan-summary span { color: var(--muted, #708078); font-size: .9rem; }
.checkout-terms { padding: 1.15rem 1.25rem; border-radius: .85rem; background: #f4f7f6; }
.checkout-terms h2 { margin: 0 0 .7rem; font-size: 1.1rem; }
.checkout-terms ul { margin: 0; padding-left: 1.2rem; }
.checkout-terms li { margin: .5rem 0; line-height: 1.45; }
.checkout-terms .small { margin: .9rem 0 0; font-size: .82rem; }
.checkout-accept-form { display: grid; gap: 1rem; margin-top: 1.25rem; }
.checkout-accept { display: flex; align-items: flex-start; gap: .65rem; line-height: 1.4; }
.checkout-accept input { margin-top: .2rem; }
@media (max-width: 560px) { .checkout-plan-summary { grid-template-columns: 1fr; } }
