/* MeetMate app v002 — business logic and responsive product UI */
.app-shell{grid-template-columns:230px minmax(0,1fr)}
.app-content{max-width:1600px;width:100%;margin:0 auto;padding:30px 32px 46px}
.app-sidebar{padding-top:28px}
.app-menu button{position:relative}
.menu-count,.mobile-count{display:inline-grid;place-items:center;min-width:21px;height:21px;margin-left:auto;padding:0 6px;border-radius:999px;background:#dceaff;color:var(--blue);font-size:.65rem;font-weight:850}
.sidebar-links{display:grid;gap:7px;margin-top:20px;padding:0 5px}.sidebar-links a{color:#63758a;font-size:.76rem;font-weight:700}.sidebar-links a:hover{color:var(--blue)}
.app-topline{align-items:center}.app-topline h1{font-size:1.9rem}.app-topline p{max-width:680px}
.app-summary{margin-bottom:14px}.summary-card{min-height:78px}.summary-card strong{font-size:1.55rem}.summary-card-coming-soon{background:linear-gradient(135deg,#fffaf1,#fff)}.summary-card-coming-soon strong{font-size:1rem;color:#a46910;letter-spacing:-.01em}
.coverage-note{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:11px 14px;border:1px solid #d8e8f6;border-radius:13px;background:#f5faff;color:#49677f;font-size:.76rem}.coverage-note[hidden]{display:none}.coverage-note b{color:#1d537d}.coverage-note span{color:#698098}
.filter-row{align-items:center;margin:18px 0}.filter-selects{display:flex;gap:8px}.view-select{min-height:40px}.filter-pill-disabled,.filter-pill:disabled{border-color:#eadfcf;background:#faf6ef;color:#9d8463;cursor:not-allowed;opacity:1}.filter-pill-disabled::after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;border-radius:50%;background:#d5a24b;vertical-align:middle}
.meet-layout{grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);align-items:start}
.meet-list{min-width:0}.meet-card{grid-template-columns:66px minmax(0,1fr) 34px;padding:16px}.meet-title-row{display:flex;align-items:center;gap:9px;min-width:0}.meet-title-row h3{flex:1;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meet-meta p{margin-top:5px}.deadline-line{display:inline-flex;align-items:center;margin-top:8px;font-size:.7rem;font-weight:800}.deadline-line::before{content:"";width:7px;height:7px;margin-right:7px;border-radius:50%;background:#9aaabd}.deadline-open{color:#237c68}.deadline-open::before{background:#2bc9a3}.deadline-soon{color:#956100}.deadline-soon::before{background:#ffcb47}.deadline-urgent{color:#b33d28}.deadline-urgent::before{background:#ff7d61}.deadline-closed{color:#7d8998}.deadline-closed::before{background:#a8b2bd}.deadline-link{color:#346fa4}.deadline-link::before{background:#55a2ef}
.meet-tags{flex-wrap:wrap}.tag-wide{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag.verified{background:#eef6ff;color:#3376b4}.date-block.past{background:#eef2f5;color:#7f8c9b}
.phase-label{display:inline-flex;flex:0 0 auto;padding:4px 7px;border-radius:999px;background:#eef3f7;color:#65758a;font-size:.55rem;font-weight:850;text-transform:uppercase;letter-spacing:.025em}.phase-upcoming{background:#eaf3ff;color:#2a70b3}.phase-live{background:#e8fbf6;color:#16876e}.phase-completed{background:#f0f3f5;color:#7a8795}.phase-tbc{background:#fff5df;color:#936713}
.detail-panel{top:86px;max-height:calc(100vh - 106px);overflow:auto;padding:22px}.detail-close{display:none}.detail-heading-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.detail-country.au{background:#fff2df;color:#a46910}.deadline-banner{display:flex;justify-content:space-between;gap:12px;margin:17px 0;padding:12px 13px;border-radius:12px;background:#f4f7fa;color:#56697f;font-size:.75rem}.deadline-banner b{color:#344b64}.deadline-banner.deadline-open,.deadline-banner.deadline-soon,.deadline-banner.deadline-urgent,.deadline-banner.deadline-link{background:#f2f8ff}.deadline-banner.deadline-closed{background:#f3f5f7}.deadline-banner span{text-align:right;color:#718196}.detail-grid{margin-top:0}.detail-item{min-height:66px}.detail-item b{line-height:1.35}.detail-actions{margin-top:8px}.primary-actions{grid-template-columns:1fr 1fr}.primary-actions .btn:nth-child(3){grid-column:1/-1}.link-actions{grid-template-columns:repeat(2,1fr);margin-top:8px}.detail-files h3{font-size:.9rem}.file-group{margin-top:13px}.file-group h4{margin:0;padding-bottom:5px;border-bottom:1px solid #edf2f6;color:#718196;font-size:.64rem;text-transform:uppercase;letter-spacing:.06em}.muted-note{margin:0;color:var(--muted);font-size:.76rem}.source-note{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);color:#748397;font-size:.66rem}.source-note b{color:#41617f}.source-note span{text-align:right}
.text-button{display:block;margin:16px auto 0;padding:8px 12px;border:0;border-radius:9px;background:var(--blue-soft);color:var(--blue);font-size:.75rem;font-weight:800;cursor:pointer}
.calendar-shell{padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar-toolbar h2{margin:0;font-size:1.2rem}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:#fff;color:#4f6279;cursor:pointer}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-weekdays{margin-bottom:7px}.calendar-weekdays span{text-align:center;color:#8290a2;font-size:.62rem;font-weight:800}.calendar-cell{position:relative;min-height:72px;padding:8px;border:1px solid #e5ebf1;border-radius:11px;background:#fbfdff;color:#617188;text-align:left;cursor:pointer}.calendar-cell:hover{border-color:#a9c8e7}.calendar-cell.muted{visibility:hidden}.calendar-cell.today{box-shadow:inset 0 0 0 2px rgba(15,111,255,.22)}.calendar-cell.has-events{background:#f4f9ff}.calendar-cell>span{font-size:.72rem;font-weight:800}.calendar-cell i{display:inline-block;width:7px;height:7px;margin:20px 3px 0 0;border-radius:50%;background:var(--blue)}.calendar-cell small{position:absolute;right:7px;bottom:7px;color:var(--blue);font-size:.55rem;font-weight:800}.calendar-agenda{display:grid;gap:4px;margin-top:16px;padding:14px;border-radius:13px;background:#f5f8fb;color:#5e7085;font-size:.74rem}.calendar-agenda>b{color:#344d67}.agenda-event{display:grid;gap:3px;width:100%;padding:11px;border:1px solid var(--line);border-radius:11px;background:white;text-align:left;cursor:pointer}.agenda-event span{font-weight:800}.agenda-event small{color:var(--muted)}
.install-dialog{width:min(calc(100% - 32px),520px);padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff;color:var(--ink);box-shadow:var(--shadow-lg)}.install-dialog::backdrop{background:rgba(16,33,59,.32);backdrop-filter:blur(4px)}.install-dialog h2{margin:13px 0 18px;font-size:1.65rem;letter-spacing:-.04em}.dialog-close{position:absolute;right:14px;top:14px;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:1.35rem;cursor:pointer}.install-steps{display:grid;gap:10px}.install-steps p{margin:0;padding:14px;border-radius:13px;background:#f5f8fb;color:#54677e;font-size:.83rem}.install-steps b{color:#2d4865}.install-steps em{font-style:normal;font-weight:750}
@media (max-width:1180px){.meet-layout{grid-template-columns:1fr}.detail-panel{position:relative;top:auto;max-height:none}.app-content{padding-left:24px;padding-right:24px}}
@media (max-width:820px){.app-nav{height:62px}.app-nav .kicker{display:none}.app-nav .nav-actions{display:flex}.app-nav .nav-actions .btn{display:inline-flex}.app-nav .nav-actions .btn-primary{display:none}.app-header{z-index:70}.app-content{padding:20px 14px 92px}.app-topline h1{font-size:1.7rem}.app-summary{gap:8px}.summary-card{padding:13px;min-height:70px}.summary-card span{font-size:.62rem}.summary-card strong{font-size:1.3rem}.summary-card-coming-soon strong{font-size:.88rem}.filter-row{display:grid;gap:10px}.filter-pills{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.filter-pill{flex:0 0 auto}.filter-selects{display:grid;grid-template-columns:1fr 1fr}.view-select{width:100%;min-width:0}.meet-layout{display:block}.meet-card{grid-template-columns:56px minmax(0,1fr);gap:12px;padding:13px}.meet-title-row{align-items:flex-start}.meet-title-row h3{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.phase-label{margin-top:1px}.meet-meta p{white-space:normal}.tag-wide{display:none}.detail-panel{position:fixed;inset:62px 0 0;z-index:80;display:none;max-height:none;border:0;border-radius:22px 22px 0 0;padding:22px 16px calc(94px + env(safe-area-inset-bottom));overflow:auto;box-shadow:0 -15px 50px rgba(16,33,59,.16)}.detail-open .detail-panel{display:block}.detail-close{position:sticky;top:0;z-index:3;display:grid;place-items:center;width:38px;height:38px;margin-left:auto;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:1.45rem;cursor:pointer}.detail-open .mobile-bottom-nav{display:none}.detail-grid{grid-template-columns:1fr 1fr}.primary-actions,.link-actions{grid-template-columns:1fr}.primary-actions .btn:nth-child(3){grid-column:auto}.source-note{display:grid}.source-note span{text-align:left}.calendar-shell{padding:13px}.calendar-cell{min-height:52px;padding:5px}.calendar-cell i{width:6px;height:6px;margin-top:10px}.calendar-cell small{display:none}.coverage-note{align-items:flex-start;display:grid}.mobile-bottom-nav button{position:relative}.mobile-count{position:absolute;top:2px;right:calc(50% - 18px);min-width:17px;height:17px;padding:0 4px;font-size:.53rem}}
@media (max-width:520px){.app-nav .brand span small{display:none}.app-nav .brand img{width:34px;height:34px}.app-nav .nav-actions .btn{min-height:36px;padding:0 11px;font-size:.76rem}.app-summary{grid-template-columns:repeat(2,1fr)}.summary-card:nth-child(n){display:block}.filter-selects{grid-template-columns:1fr}.meet-tags{gap:4px}.tag{font-size:.53rem}.detail-grid{grid-template-columns:1fr}.deadline-banner{display:grid}.deadline-banner span{text-align:left}.calendar-weekdays,.calendar-grid{gap:3px}.calendar-cell{min-height:46px;border-radius:8px}.calendar-cell i:nth-of-type(n+2){display:none}}