/* App Team 29er · v16.30 · approved A+B dashboard render */
:root{
  --ab-navy:#0b1d4d;
  --ab-blue:#1468f3;
  --ab-blue-soft:#edf5ff;
  --ab-violet:#7735df;
  --ab-violet-soft:#f4ecff;
  --ab-green:#159767;
  --ab-red:#ef405d;
  --ab-red-soft:#fff0f3;
  --ab-amber:#ffad18;
  --ab-muted:#74829a;
  --ab-border:rgba(17,40,86,.08);
  --ab-shadow:0 9px 28px rgba(35,62,115,.075),0 2px 5px rgba(35,62,115,.025);
}

.ab-board-ready{background:#f5f8fc!important}
.ab-board-ready .content{padding:13px 11px 126px!important;overflow:visible!important}
.ab-board-ready .topbar{
  padding-left:14px!important;padding-right:14px!important;padding-bottom:13px!important;
  background:rgba(248,250,254,.94)!important;border-bottom:1px solid rgba(20,49,104,.05)!important;
}
.ab-board-ready .eyebrow{font-size:10px!important;letter-spacing:.17em!important;color:var(--ab-blue)!important}
.ab-board-ready .topbar h1{font-size:29px!important;line-height:1!important;font-weight:800!important;letter-spacing:-.055em!important;color:var(--ab-navy)!important}
.ab-board-ready .top-actions{gap:8px!important}
.ab-board-ready #cloudPill{
  min-height:40px!important;padding:8px 12px!important;border-radius:999px!important;background:#fff!important;
  color:var(--ab-green)!important;border:1px solid rgba(13,88,67,.10)!important;box-shadow:0 5px 16px rgba(29,73,109,.06)!important;
  font-size:11px!important;font-weight:750!important;
}
.ab-board-ready #quickAddBtn{
  width:43px!important;height:43px!important;border-radius:15px!important;background:linear-gradient(145deg,#1f73ff,#075ce6)!important;
  color:#fff!important;border:0!important;box-shadow:0 8px 18px rgba(20,104,243,.20)!important;font-size:28px!important;font-weight:400!important;
}

.ab-board{display:flex;flex-direction:column;gap:12px;width:100%;max-width:760px;margin:0 auto}
.ab-row-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ab-operations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
.ab-right-stack{display:grid;grid-template-rows:1fr 1fr;gap:12px;min-height:360px}

.ab-card,.ab-hero{
  position:relative;min-width:0;overflow:hidden;background:#fff;border:1px solid var(--ab-border);border-radius:23px;
  box-shadow:var(--ab-shadow);color:var(--ab-navy);
}
.ab-card{padding:15px}
.ab-square{height:178px;padding-bottom:43px}
.ab-stack-card{min-height:174px;padding-bottom:42px}
.ab-todo-card{height:360px;padding-bottom:44px}
.ab-performance-card{min-height:226px;padding:16px 16px 44px}

.ab-kicker{font-size:10px;line-height:1.2;font-weight:800;letter-spacing:.075em;text-transform:uppercase;color:var(--ab-muted)}
.ab-kicker.blue{color:var(--ab-blue)}
.ab-kicker.violet-text{color:var(--ab-violet)}
.ab-muted{font-size:11px;line-height:1.35;color:var(--ab-muted);margin-top:15px}

/* HERO */
.ab-hero{
  min-height:174px;padding:17px 16px;display:grid;grid-template-columns:44px minmax(0,1fr) 18px;gap:11px;align-items:start;
  background:linear-gradient(130deg,#fff 0%,#fbfdff 48%,#eaf3ff 100%);border-color:rgba(20,104,243,.13);cursor:pointer;
}
.ab-hero-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:15px;background:rgba(255,255,255,.9);border:1px solid rgba(20,104,243,.10);box-shadow:0 5px 13px rgba(42,82,140,.06);font-size:23px;z-index:2}
.ab-hero-copy{position:relative;z-index:2;min-width:0;max-width:76%}
.ab-hero-copy h2{font-size:21px!important;line-height:1.08!important;margin:5px 0 7px!important;font-weight:800!important;letter-spacing:-.045em!important;color:var(--ab-navy)!important}
.ab-hero-copy p{margin:0;color:#5d6e89;font-size:12px;line-height:1.35}
.ab-hero-copy .ab-location{font-weight:550}
.ab-hero-weather{margin-top:7px!important;color:#243b64!important;font-weight:650!important;font-size:11px!important}
.ab-hero-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}
.ab-hero-chips span{display:inline-flex;align-items:center;gap:4px;min-height:29px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:650;background:#fff;border:1px solid rgba(20,104,243,.14)}
.ab-hero-chips .blue-chip{color:var(--ab-blue)}
.ab-hero-chips .violet-chip{color:var(--ab-violet);background:#fbf7ff;border-color:rgba(119,53,223,.15)}
.ab-hero-chevron{position:relative;z-index:3;color:var(--ab-blue);font-size:24px;line-height:1;margin-top:15px}
.ab-hero-art{position:absolute;right:-9px;bottom:-8px;width:46%;height:86%;opacity:.92;background-repeat:no-repeat;background-position:right bottom;background-size:contain;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 150'%3E%3Cg fill='none'%3E%3Cpath d='M90 131c42-8 82-2 126-16-33 28-90 37-147 27 6-5 13-8 21-11Z' fill='%231468f3' opacity='.25'/%3E%3Cpath d='M109 129c32-4 68-5 106-18-31 22-76 30-121 27 5-4 10-7 15-9Z' fill='%231468f3' opacity='.6'/%3E%3Cpath d='M117 111h65l-15 18h-51Z' fill='%231468f3' opacity='.86'/%3E%3Cpath d='M137 29v78H93Z' fill='%23478df5' opacity='.72'/%3E%3Cpath d='M142 35v72h43Z' fill='%231468f3' opacity='.48'/%3E%3Cpath d='M140 22v91' stroke='%230b1d4d' stroke-width='3' opacity='.12'/%3E%3C/g%3E%3C/svg%3E")}
.ab-hero-action{margin-top:14px;border:0;background:var(--ab-blue);color:#fff;border-radius:12px;padding:9px 12px;font-size:11px;font-weight:750}

/* COMMON CARD DETAILS */
.ab-card-icon{position:absolute;right:13px;top:13px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-size:18px;font-weight:800}
.ab-card-icon.small{width:31px;height:31px;font-size:15px}
.ab-card-icon.blue{background:var(--ab-blue-soft);color:var(--ab-blue)}
.ab-card-icon.violet{background:var(--ab-violet-soft);color:var(--ab-violet)}
.ab-footer-link{position:absolute;left:15px;right:15px;bottom:9px;height:30px;padding:0;border:0!important;background:transparent!important;box-shadow:none!important;display:flex;align-items:center;justify-content:space-between;font-size:11px!important;font-weight:800!important;text-align:left}
.ab-footer-link:before{content:'';position:absolute;top:-5px;left:0;right:0;height:1px;background:rgba(17,40,86,.08)}
.ab-footer-link span{font-size:18px;line-height:1}
.ab-footer-link.blue{color:var(--ab-blue)!important}.ab-footer-link.violet{color:var(--ab-violet)!important}

/* WEATHER */
.ab-weather-card .ab-data{font-size:30px!important;line-height:1!important;font-weight:800!important;letter-spacing:-.055em!important;margin:18px 0 5px!important;color:var(--ab-navy)!important}
.ab-weather-card>strong{display:block;font-size:15px;line-height:1;color:var(--ab-navy);margin-bottom:8px}
.ab-weather-card>p{font-size:10px;line-height:1.35;color:var(--ab-muted);margin:0}
.ab-weather-card .ab-card-location{position:absolute;left:15px;right:15px;bottom:44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9.5px}

/* REGATTA */
.ab-regatta-count{display:flex;align-items:baseline;gap:5px;margin:13px 0 5px}
.ab-regatta-count b{font-size:38px;line-height:.9;letter-spacing:-.06em;color:var(--ab-violet);font-weight:800}
.ab-regatta-count span{font-size:9px;color:var(--ab-muted);font-weight:700}
.ab-regatta-card h3{font-size:15px!important;line-height:1.08!important;font-weight:800!important;letter-spacing:-.025em!important;margin:0!important;max-width:85%;color:var(--ab-navy)!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ab-regatta-card .ab-card-location{position:absolute;left:15px;right:15px;bottom:44px;margin:0;font-size:9.5px;color:var(--ab-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* TODO */
.ab-todo-head{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:5px 0 9px}
.ab-todo-head>div{display:flex;align-items:baseline;gap:5px}
.ab-todo-head b{font-size:37px;line-height:1;letter-spacing:-.06em;color:var(--ab-navy);font-weight:800}
.ab-todo-head span{font-size:11px;color:var(--ab-muted);font-weight:700}
.ab-todo-head em{font-style:normal;color:var(--ab-red);background:var(--ab-red-soft);border-radius:999px;padding:6px 8px;font-size:9px;font-weight:800;white-space:nowrap}
.ab-task-list{display:flex;flex-direction:column}
.ab-task-row{display:grid;grid-template-columns:8px minmax(0,1fr);gap:9px;padding:11px 0;border-top:1px solid rgba(17,40,86,.075)}
.ab-task-row:first-child{border-top:0}
.ab-task-row>i{width:8px;height:8px;border-radius:50%;background:#28a979;margin-top:16px}.ab-task-row>i.high{background:var(--ab-red)}.ab-task-row>i.medium{background:var(--ab-amber)}
.ab-task-row small{display:block;font-size:9px;line-height:1.2;color:#8b96a8;margin-bottom:2px}
.ab-task-row strong{display:block;font-size:11.5px;line-height:1.22;color:var(--ab-navy);font-weight:800;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ab-task-row span{display:block;margin-top:3px;font-size:9px;color:var(--ab-muted)}
.ab-empty-good{padding:20px 0;font-size:11px;color:var(--ab-green);font-weight:700}

/* CREWS */
.ab-crew-items{margin-top:8px}
.ab-crew-item{display:grid;grid-template-columns:31px minmax(0,1fr);gap:8px;align-items:center;padding:7px 0;border-top:1px solid rgba(17,40,86,.07)}
.ab-crew-item:first-child{border-top:0}
.ab-crew-item>span{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:var(--ab-navy);color:#fff;font-size:9px;font-weight:800}
.ab-crew-item strong{display:block;font-size:10.5px;line-height:1.1;color:var(--ab-navy);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ab-crew-item small{display:block;font-size:8.5px;color:var(--ab-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* SURVEYS */
.ab-check-list{margin-top:10px}
.ab-check-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:6px;align-items:center;padding:6px 0;border-top:1px solid rgba(17,40,86,.07)}
.ab-check-row:first-child{border-top:0}
.ab-check-row i{width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:var(--ab-green);color:#fff;font-size:9px;font-style:normal;font-weight:800}
.ab-check-row span{font-size:9.5px;color:var(--ab-navy);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ab-check-row b{font-size:9px;color:var(--ab-muted);font-weight:700}

/* PERFORMANCE */
.ab-performance-card>.ab-card-icon{top:12px;right:13px}
.ab-performance-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 0 6px}
.ab-performance-kpis>div{display:grid;grid-template-columns:31px minmax(0,1fr);gap:7px;align-items:center;padding:0 9px;border-left:1px solid rgba(17,40,86,.08)}
.ab-performance-kpis>div:first-child{padding-left:0;border-left:0}
.ab-performance-kpis i{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--ab-violet-soft);color:var(--ab-violet);font-size:14px;font-style:normal}
.ab-performance-kpis b{display:block;font-size:17px;line-height:1;color:var(--ab-navy);font-weight:800;letter-spacing:-.035em;white-space:nowrap}
.ab-performance-kpis span{display:block;margin-top:3px;font-size:8px;line-height:1.2;color:var(--ab-muted)}
.ab-spark{display:block;width:100%;height:72px;margin-top:2px;overflow:visible}
.ab-spark polyline{fill:none;stroke:var(--ab-violet);stroke-width:1.7;vector-effect:non-scaling-stroke}.ab-spark circle{fill:var(--ab-violet);vector-effect:non-scaling-stroke}
.ab-chart-empty{height:72px;display:grid;place-items:center;border:1px dashed rgba(119,53,223,.15);border-radius:13px;background:#fdfbff;color:var(--ab-muted);font-size:10px;text-align:center;padding:10px}

/* ATHLETE */
.ab-athlete-mini{display:grid;grid-template-columns:auto 1fr;gap:7px 8px;margin-top:15px;align-items:baseline}.ab-athlete-mini b{font-size:18px;color:var(--ab-violet);font-weight:800}.ab-athlete-mini span{font-size:9px;color:var(--ab-muted)}
.ab-athlete-crew{margin-top:16px}.ab-athlete-crew strong{display:block;font-size:15px;color:var(--ab-navy);font-weight:800}.ab-athlete-crew span{display:block;margin-top:5px;font-size:10px;color:var(--ab-muted);line-height:1.35}

/* BOTTOM NAV */
.ab-board-ready .bottom-nav{z-index:50!important;left:10px!important;right:10px!important;bottom:8px!important;border-radius:23px!important;padding:7px 7px calc(7px + env(safe-area-inset-bottom))!important;background:rgba(255,255,255,.96)!important;border:1px solid rgba(17,40,86,.07)!important;box-shadow:0 13px 36px rgba(30,52,96,.13)!important}
.ab-board-ready .nav-item{min-height:51px!important;border-radius:15px!important;color:#68768e!important}.ab-board-ready .nav-item.active{background:#edf4ff!important;color:var(--ab-blue)!important}.ab-board-ready .nav-item small{font-size:9.5px!important;font-weight:700!important}.ab-board-ready .nav-item span{font-size:20px!important}

@media(max-width:365px){
  .ab-board-ready .content{padding-left:8px!important;padding-right:8px!important}.ab-board,.ab-row-pair,.ab-operations-grid,.ab-right-stack{gap:9px}.ab-card{padding:13px}.ab-square{height:170px}.ab-todo-card{height:346px}.ab-right-stack{min-height:346px}.ab-hero{padding-left:13px;padding-right:13px;grid-template-columns:40px minmax(0,1fr) 14px}.ab-hero-icon{width:40px;height:40px}.ab-hero-copy h2{font-size:19px!important}.ab-hero-copy p{font-size:10.5px}.ab-performance-kpis{gap:2px}.ab-performance-kpis>div{grid-template-columns:26px minmax(0,1fr);padding:0 6px}.ab-performance-kpis i{width:26px;height:26px}.ab-performance-kpis b{font-size:15px}.ab-performance-kpis span{font-size:7.5px}}

@media(min-width:700px){
  .ab-board-ready .content{padding-left:18px!important;padding-right:18px!important}.ab-hero{min-height:190px}.ab-square{height:210px}.ab-todo-card{height:420px}.ab-right-stack{min-height:420px}.ab-performance-card{min-height:250px}.ab-board-ready .bottom-nav{left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(720px,calc(100% - 20px))!important}
}
