@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#071b26;--sidebar:#061721;--panel:#0d2733;--panel2:#102e3b;--line:#1e3c48;--text:#edf6f5;--muted:#91a9ae;--aqua:#63dec9;--blue:#89bce7;--amber:#f2ca85;--danger:#ee9c9c;font-family:'DM Sans',sans-serif;color:var(--text);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:var(--sidebar);border-right:1px solid #17313c;padding:27px 16px 18px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--text);font:800 18px 'Manrope',sans-serif;letter-spacing:-.5px;padding:2px 8px}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#6ce5d1,#3aa6a8);color:#08232d;font-size:22px}.brand small{display:block;color:var(--muted);font:500 11px 'DM Sans',sans-serif;letter-spacing:.1px;margin-top:1px}.side-nav{display:grid;gap:6px;margin-top:48px}.nav-link{border:0;background:none;text-align:left;padding:13px 14px;border-radius:10px;color:#9db3b6;display:flex;align-items:center;gap:12px;font-weight:600}.nav-link>span{font-size:19px;width:20px;text-align:center}.nav-link:hover,.nav-link.active{background:#123441;color:var(--aqua)}.nav-link i{font-style:normal;margin-left:auto;font-size:11px;color:#93b0b4;background:#173b47;border-radius:12px;padding:2px 8px}.sidebar-bottom{margin-top:auto}.profile-chip{display:flex;align-items:center;gap:11px;border-top:1px solid var(--line);padding:18px 4px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#164452;color:#a8eee0;font-weight:700}.profile-chip b,.profile-chip small{display:block}.profile-chip b{font-size:13px}.profile-chip small{font-size:11px;color:var(--muted);margin-top:3px}.local-note{margin:0 4px;color:#819a9f;font-size:10px;line-height:1.5}.status-dot{display:inline-block;width:6px;height:6px;background:#65d7a6;border-radius:50%;margin:0 5px 1px 0}.main-content{margin-left:244px;width:calc(100% - 244px);max-width:1480px;padding:0 46px 64px}.topbar{height:72px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #16313b;margin-bottom:37px}.crumb{font-size:12px;color:#80999f}.crumb span{padding:0 8px;color:#44606a}.crumb b{color:#d0dedc;font-weight:500}.view{display:none}.view.active{display:block}.welcome-row,.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:31px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--aqua);font-weight:700;margin:0 0 9px}.welcome-row h1,.page-heading h1{font:700 29px 'Manrope',sans-serif;letter-spacing:-1px;margin:0 0 7px}.subhead{color:var(--muted);font-size:13px;margin:0;line-height:1.6}.cert-badge{display:flex;gap:12px;align-items:center;background:#0d2b36;border:1px solid #214451;border-radius:12px;padding:13px 16px;white-space:nowrap}.cert-badge>span{width:34px;height:34px;border-radius:10px;background:#154553;color:var(--aqua);display:grid;place-items:center;font-size:20px}.cert-badge small,.cert-badge b{display:block}.cert-badge small{color:var(--muted);font-size:10px;margin-bottom:4px}.cert-badge b{font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:25px 0 43px}.stat-card{border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:18px 19px;min-height:113px;position:relative}.stat-card small{display:block;color:var(--muted);font-size:11px}.stat-card strong{display:block;font:700 27px 'Manrope',sans-serif;margin-top:13px;letter-spacing:-.8px}.stat-card .unit{color:#95aaac;font:500 11px 'DM Sans',sans-serif;letter-spacing:0}.stat-icon{position:absolute;right:17px;top:17px;width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:#173b46;color:var(--aqua);font-size:15px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:0 0 17px}.section-heading h2{font:700 20px 'Manrope',sans-serif;margin:0}.text-button{border:0;background:none;color:var(--aqua);font-size:12px;font-weight:600;padding:6px}.text-button span{margin-left:5px}.dive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.dive-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;min-width:0;transition:transform .18s,border-color .18s}.dive-card:hover{transform:translateY(-2px);border-color:#346172}.dive-cover{height:133px;background:linear-gradient(145deg,#123c49,#0c2633);position:relative;overflow:hidden;display:grid;place-items:center;color:#5b8d95}.dive-cover::before,.dive-cover::after{content:"";position:absolute;border:1px solid #85ded333;width:245px;height:80px;border-radius:50%;transform:rotate(-18deg);left:-35px;top:68px}.dive-cover::after{width:180px;height:50px;left:120px;top:52px;transform:rotate(22deg)}.dive-cover img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:1}.cover-glow{position:absolute;width:200px;height:100px;background:#49c4ac1a;filter:blur(25px);border-radius:50%;left:22%;top:14px}.cover-depth{position:absolute;z-index:1;right:12px;top:11px;background:#061b26b8;padding:5px 9px;border-radius:20px;font-size:10px;color:#e5f4ef}.dive-body{padding:15px 16px}.dive-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px}.dive-body h3{font:700 16px 'Manrope',sans-serif;margin:8px 0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pills{display:flex;gap:6px;flex-wrap:wrap}.pill{background:#153a45;color:#bdd4d2;font-size:10px;padding:5px 8px;border-radius:20px}.dive-summary{color:#9bb0b3;font-size:11px;line-height:1.55;margin:12px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dive-foot{display:flex;justify-content:space-between;align-items:center;margin-top:13px;padding-top:11px;border-top:1px solid #1c3944;color:#8fa6aa;font-size:10px}.card-actions{display:flex;gap:4px}.card-actions button{border:0;background:none;color:#8fa6aa;padding:4px 6px;font-size:11px}.card-actions button:hover{color:var(--aqua)}.progress-banner{margin-top:40px;padding:20px 23px;border:1px solid #244752;border-radius:14px;background:linear-gradient(105deg,#0e303c,#0d2733);display:flex;align-items:center;gap:16px}.progress-icon{width:43px;height:43px;border-radius:12px;background:#17434d;display:grid;place-items:center;font-size:21px;color:var(--aqua);flex:none}.progress-banner h3{font:700 15px 'Manrope',sans-serif;margin:0 0 5px}.progress-banner p:not(.eyebrow){font-size:11px;color:var(--muted);margin:0;line-height:1.5}.progress-banner .eyebrow{margin:0 0 4px;font-size:9px}.progress-banner .button{margin-left:auto;white-space:nowrap}.button{border-radius:9px;padding:11px 15px;font-size:12px;font-weight:700;transition:.18s}.button.primary{border:1px solid var(--aqua);background:var(--aqua);color:#06212a}.button.primary:hover{background:#85edda}.button.secondary{border:1px solid #315562;background:#122f3a;color:#d9e7e5}.button.secondary:hover{border-color:#6fcdbd;color:var(--aqua)}.button.compact{padding:9px 12px}.page-heading{margin-bottom:23px}.page-heading .button{flex:none}.panel{border:1px solid var(--line);background:var(--panel);border-radius:13px}.filters{padding:14px 16px;display:flex;align-items:end;gap:14px;margin-bottom:21px;flex-wrap:wrap}.filter-title{align-self:center;display:flex;align-items:center;gap:10px;margin-right:5px}.filter-title b{font-size:12px}.filter-title .text-button{font-size:10px}.filters label{display:grid;gap:5px;color:#92a9ad;font-size:10px;min-width:145px}.filters select{padding:9px 10px;min-width:145px}.results-count{margin-left:auto;color:var(--muted);font-size:10px;padding:10px 2px}select,input,textarea{background:#091f2a;color:var(--text);border:1px solid #294752;border-radius:8px;padding:10px 11px;outline:none}select:focus,input:focus,textarea:focus{border-color:#63cdbd;box-shadow:0 0 0 2px #63cdbd20}.timeline{padding:26px 30px;max-width:820px;position:relative}.timeline::before{content:"";position:absolute;left:48px;top:58px;bottom:54px;width:2px;background:#28515a}.milestone{display:grid;grid-template-columns:38px 1fr auto;gap:20px;position:relative;padding:5px 0 37px}.milestone:last-child{padding-bottom:5px}.milestone-dot{width:36px;height:36px;border-radius:50%;background:#123b47;border:2px solid #52cdb9;display:grid;place-items:center;color:var(--aqua);z-index:1}.milestone.planned .milestone-dot{border-style:dashed;color:#a9c0c1;background:#102b35}.milestone h3{font:700 15px 'Manrope',sans-serif;margin:2px 0 5px}.milestone p{color:var(--muted);font-size:11px;line-height:1.6;margin:0;max-width:490px}.milestone-date{color:#a6bdbe;font-size:10px;white-space:nowrap;padding-top:5px}.milestone-tag{display:inline-block;margin-top:8px;color:#79d8c6;background:#153c44;padding:4px 8px;border-radius:20px;font-size:9px}.progress-stats{max-width:820px;margin-top:20px}.dive-dialog{width:min(760px,calc(100% - 26px));max-height:calc(100% - 26px);border:1px solid #31525d;border-radius:16px;background:#0b222d;color:var(--text);padding:0;box-shadow:0 30px 100px #0009}.dive-dialog::backdrop{background:#001018b8;backdrop-filter:blur(3px)}.dive-dialog form{padding:24px}.dialog-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:21px}.dialog-head h2{font:700 21px 'Manrope',sans-serif;margin:0}.icon-button{border:0;background:#163641;color:#d9e6e5;border-radius:8px;width:32px;height:32px;font-size:21px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.form-grid label{display:grid;gap:6px;color:#abc0c1;font-size:10px}.form-grid .full{grid-column:1/-1}.form-grid textarea{resize:vertical;min-height:65px}.form-grid input,.form-grid select,.form-grid textarea{font-size:12px}.photo-picker input{padding:8px;font-size:11px}.photo-picker small{font-size:10px;color:var(--muted)}.photo-previews{display:flex;gap:8px;flex-wrap:wrap}.photo-previews img{width:68px;height:54px;border-radius:6px;object-fit:cover}.dialog-actions{display:flex;justify-content:end;gap:9px;margin-top:21px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#143d47;border:1px solid #427467;color:#dffff5;padding:11px 16px;border-radius:10px;font-size:12px;transition:.2s;z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}.empty-state{grid-column:1/-1;border:1px dashed #31515b;border-radius:13px;padding:45px 20px;text-align:center;color:var(--muted);font-size:12px}.empty-state strong{display:block;color:#dce9e6;font:700 15px 'Manrope',sans-serif;margin-bottom:6px}
@media(max-width:1100px){.main-content{padding:0 26px 50px}.dive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{gap:10px}.stat-card{padding:15px}}
@media(max-width:760px){.sidebar{width:62px;padding:17px 8px}.brand{padding:0;justify-content:center}.brand>span:last-child,.nav-link:not(.active){}.brand small,.side-nav .nav-link:not(.active){font-size:0}.side-nav{margin-top:34px}.nav-link{justify-content:center;padding:12px 4px;font-size:0;gap:0}.nav-link>span{font-size:19px}.nav-link i{display:none}.sidebar-bottom .profile-chip{justify-content:center;padding:14px 0}.profile-chip>div:last-child,.local-note{display:none}.main-content{margin-left:62px;width:calc(100% - 62px);padding:0 17px 38px}.topbar{height:60px;margin-bottom:26px}.welcome-row{align-items:start;flex-direction:column}.cert-badge{margin-top:2px}.welcome-row h1,.page-heading h1{font-size:24px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:31px}.dive-grid{grid-template-columns:1fr}.dive-cover{height:150px}.progress-banner{align-items:start;flex-wrap:wrap}.progress-banner .button{margin:0 0 0 58px}.page-heading{align-items:start;flex-direction:column}.filters{align-items:stretch}.filter-title{width:100%;justify-content:space-between}.filters label,.filters select{width:100%}.results-count{margin:0}.timeline{padding:20px 15px}.timeline::before{left:33px}.milestone{grid-template-columns:36px 1fr;gap:12px;padding-bottom:29px}.milestone-date{grid-column:2;padding:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dive-dialog form{padding:18px}.topbar .compact{font-size:10px;padding:8px}}
@media(max-width:450px){.main-content{padding-left:12px;padding-right:12px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.welcome-row h1{font-size:22px}.subhead{font-size:12px}.section-heading h2{font-size:18px}.stats-grid .stat-card strong{font-size:24px}.filters{padding:12px}.dialog-actions{position:sticky;bottom:-18px;background:#0b222d;padding:12px 0 0}.cert-badge b{font-size:11px}}
.card-details{border-top:1px solid #1c3944;margin-top:11px;padding-top:9px;color:#a9bdbd;font-size:10px}.card-details summary{cursor:pointer;color:#83d9c8;font-weight:600;list-style:none}.card-details summary::-webkit-details-marker{display:none}.card-details summary::after{content:'＋';float:right;color:#77cdbd}.card-details[open] summary::after{content:'−'}.card-details p{margin:8px 0;line-height:1.5}.card-details p b{color:#d4e2df;font-weight:600}.detail-empty{color:#728b91}.card-photos{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.card-photos img{width:58px;height:46px;object-fit:cover;border-radius:6px}

.cover-credit{position:absolute;bottom:8px;left:9px;z-index:2;max-width:calc(100% - 18px);padding:4px 7px;border-radius:5px;background:#061b26bb;color:#edf6f5;font-size:9px;text-decoration:none}.cover-credit:hover{text-decoration:underline}.dive-cover img{object-position:center 45%}
.map-section{margin:0 0 38px}.map-summary,.map-note{font-size:11px;color:var(--muted);line-height:1.6}.map-summary{margin:7px 0 0}.map-note{margin:10px 0 0}.map-panel{overflow:hidden}#diveMap{height:390px;background:#0a202b;z-index:0}.map-locations{display:flex;gap:10px;flex-wrap:wrap;padding:14px}.map-location{display:flex;gap:14px;align-items:center;padding:10px 13px;background:#102f3b;border:1px solid #28515a;border-radius:9px;color:var(--text);font-size:11px}.map-location:hover{border-color:var(--aqua)}.map-location b{color:var(--aqua);font-size:10px}.dive-map-marker{background:transparent;border:0}.dive-map-marker span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#63dec9;color:#06212a;border:3px solid #d0fff3;box-shadow:0 0 0 7px #63dec926,0 3px 14px #0008;font:bold 13px sans-serif}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#102e3b;color:#edf6f5}.leaflet-popup-content{font:12px/1.6 'DM Sans',sans-serif}.leaflet-popup-content p{color:#abc0c1}.map-open{background:#63dec9;border:0;border-radius:6px;padding:7px 10px;color:#06212a;font-size:11px}.leaflet-control-attribution{font-size:9px!important}.map-section .section-heading{gap:12px}.map-section .button{white-space:nowrap}@media(max-width:760px){#diveMap{height:300px}.map-locations{display:grid;padding:10px}.map-location{justify-content:space-between}.map-section .button{font-size:10px;padding:9px}}
#diveMap .leaflet-tile-pane{filter:invert(1) hue-rotate(165deg) brightness(.8) saturate(.65)}
