/* ============================================================
   Nestiy — Work-Place tool styles
   Builds on the shared design system + the .tool-* components
   already defined in style.css for the PDF editor.
   ============================================================ */

.wp-hidden{ display:none !important; }

/* ---------- Smart Workplace hero quick links ---------- */
.wp-hero-links{ display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.wp-hero-link{
  display:inline-flex; align-items:center; gap:10px; background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-pill); padding:7px 16px 7px 7px; font-weight:600; font-size:0.9rem; color:var(--forest);
  transition:border-color .15s ease, transform .15s ease;
}
.wp-hero-link:hover{ border-color:var(--primary); transform:translateY(-2px); }
.wp-hero-link .ic{ width:30px; height:30px; border-radius:50%; background:var(--mint-100); color:var(--primary-dark); display:flex; align-items:center; justify-content:center; }
.wp-hero-link .ic.gold{ background:var(--gold-100); color:var(--gold); }
.wp-hero-link .ic.blue{ background:#E6F0FA; color:#2F6DB0; }
.wp-hero-link .ic.red{ background:var(--red-100); color:var(--red); }
.wp-hero-link .ic svg{ width:16px; height:16px; }
#pdf, #wpIntro{ scroll-margin-top:90px; }
.wp-pdf-section .drop-zone{ background:var(--white); }

/* ---------- Demo preview mockup on the intro ---------- */
.wp-demo-frame{
  border-radius:var(--radius-lg);
  border:1px solid var(--line);
  background:var(--white);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.wp-demo-bar{
  display:flex; align-items:center; gap:8px;
  padding:12px 16px; background:var(--mint-50); border-bottom:1px solid var(--line);
}
.wp-demo-dot{ width:9px; height:9px; border-radius:50%; background:var(--line); }
.wp-demo-bar span{ font-size:0.78rem; color:var(--muted); margin-left:8px; }
.wp-demo-body{ display:grid; grid-template-columns:54px 1fr; min-height:300px; }
.wp-demo-rail{ background:var(--mint-50); border-right:1px solid var(--line); display:flex; flex-direction:column; align-items:center; gap:14px; padding:16px 0; }
.wp-demo-rail .ic{ width:30px; height:30px; border-radius:9px; background:var(--white); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--primary-dark); }
.wp-demo-rail .ic svg{ width:16px; height:16px; }
.wp-demo-page{ padding:26px 30px; background-image:repeating-linear-gradient(to bottom, transparent, transparent 27px, var(--line) 28px); }
.wp-demo-page h5{ font-family:var(--font-head); color:var(--forest); margin:0 0 14px; font-size:1rem; }
.wp-demo-page .fake-line{ height:1px; }
.wp-demo-shape{ display:inline-block; border-radius:8px; margin:6px 10px 6px 0; }

/* ---------- Top action bar inside the app ---------- */
.wp-app{ margin-top:8px; }
#wpApp, #wpEditorView{ scroll-margin-top:90px; }
.wp-toolbar-wrap, #wpEditorView .tool-side, .wp-page-nav, .wp-editor-topbar .tool-btn{ -webkit-user-select:none; user-select:none; }
.wp-canvas-stage{ -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }
.wp-canvas-stage .wp-text-edit, .wp-canvas-stage .wp-line-input{ -webkit-user-select:text; user-select:text; }
.wp-topbar{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding:16px 20px; background:var(--mint-50); border:1px solid var(--line);
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
}
.wp-workspace-name{
  font-family:var(--font-head); font-weight:700; font-size:1.15rem; color:var(--forest);
  border:1px solid transparent; border-radius:10px; padding:6px 10px; background:transparent;
  min-width:160px;
}
.wp-workspace-name:hover, .wp-workspace-name:focus{ border-color:var(--line); background:var(--white); outline:none; }
.wp-topbar .tool-spacer{ flex:1; }

.wp-account-area{ position:relative; }
.wp-account-btn{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--white); border:1px solid var(--line); color:var(--forest);
  padding:9px 14px; border-radius:var(--radius-pill); font-size:0.86rem; font-weight:600; cursor:pointer;
}
.wp-account-btn svg{ width:16px; height:16px; }
.wp-avatar{
  width:26px; height:26px; border-radius:50%; background:var(--primary);
  color:#fff; font-family:var(--font-head); font-weight:700; font-size:0.78rem;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.wp-account-menu{
  position:absolute; top:calc(100% + 8px); right:0; min-width:220px;
  background:var(--white); border:1px solid var(--line); border-radius:14px;
  box-shadow:var(--shadow-soft); padding:8px; z-index:40;
}
.wp-account-menu button, .wp-account-menu .wp-menu-label{
  display:block; width:100%; text-align:left; background:transparent; border:none;
  padding:10px 12px; border-radius:9px; font-size:0.86rem; color:var(--ink); cursor:pointer;
}
.wp-account-menu button:hover{ background:var(--mint-100); }
.wp-account-menu .wp-menu-label{ color:var(--muted); font-size:0.78rem; cursor:default; }
.wp-account-menu .wp-menu-label:hover{ background:none; }
.wp-account-menu hr{ border:none; border-top:1px solid var(--line); margin:6px 0; }

/* ---------- Dashboard ---------- */
.wp-dashboard{
  border:1px solid var(--line); border-top:none; border-radius:0 0 var(--radius-lg) var(--radius-lg);
  padding:32px; background:var(--white);
}
.wp-action-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; margin-bottom:36px; }
@media (max-width: 1180px){ .wp-action-grid{ grid-template-columns:repeat(2, 1fr); } }
.wp-action-card{
  display:flex; flex-direction:column; align-items:flex-start; gap:12px;
  padding:28px; border:1.5px dashed var(--line); border-radius:var(--radius-lg);
  background:var(--mint-50); cursor:pointer; text-align:left; width:100%;
  transition:border-color .18s ease, transform .18s ease, background .18s ease;
}
.wp-action-card{ line-height:1.45; font-size:1rem; color:inherit; }
.wp-action-card:hover{ border-color:var(--primary); background:var(--mint-100); transform:translateY(-3px); }
.wp-action-card .icon{ width:46px; height:46px; border-radius:13px; background:var(--white); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--primary-dark); }
.wp-action-card .icon svg{ width:22px; height:22px; }
.wp-action-card h4{ font-family:var(--font-head); font-size:1.08rem; color:var(--forest); }
.wp-action-card p{ font-size:0.86rem; color:var(--muted); }

.wp-items-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.wp-items-head h4{ font-family:var(--font-head); font-size:1rem; color:var(--forest); }
.wp-empty-note{ color:var(--muted); font-size:0.9rem; padding:18px 0; }
.wp-items-list{ display:flex; flex-direction:column; gap:10px; }
.wp-item-row{
  display:flex; align-items:center; gap:14px;
  padding:14px 16px; border:1px solid var(--line); border-radius:14px; background:var(--white);
}
.wp-item-row .type-icon{ width:38px; height:38px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.wp-item-row .type-icon.note{ background:var(--mint-100); color:var(--primary-dark); }
.wp-item-row .type-icon.design{ background:var(--gold-100); color:var(--gold); }
.wp-item-row .type-icon.minutes{ background:#E6F0FA; color:#2F6DB0; }
.wp-item-row .type-icon svg{ width:18px; height:18px; }
.wp-item-meta{ flex:1; min-width:0; }
.wp-item-meta .name{ font-weight:600; color:var(--forest); font-size:0.95rem; }
.wp-item-meta .sub{ font-size:0.78rem; color:var(--muted); }
.wp-item-actions{ display:flex; gap:8px; flex-shrink:0; }
.wp-item-actions button{
  border:1px solid var(--line); background:var(--white); color:var(--forest);
  border-radius:9px; padding:7px 11px; font-size:0.78rem; font-weight:600; cursor:pointer;
}
.wp-item-actions button:hover{ border-color:var(--primary); color:var(--primary-dark); }
.wp-item-actions button.danger:hover{ border-color:var(--red); color:var(--red); }

.wp-guest-banner{
  display:flex; align-items:center; gap:12px; margin-bottom:24px;
  background:var(--gold-100); border:1px solid #f0dca8; color:#7a5a16;
  padding:12px 16px; border-radius:14px; font-size:0.86rem;
}
.wp-guest-banner svg{ width:18px; height:18px; flex-shrink:0; }
.wp-guest-banner button{
  margin-left:auto; background:var(--forest); color:#fff; border:none; border-radius:var(--radius-pill);
  padding:7px 14px; font-size:0.78rem; font-weight:600; cursor:pointer; white-space:nowrap;
}

/* ---------- Editor ---------- */
.wp-editor-topbar{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  padding:14px 20px; background:var(--mint-50); border:1px solid var(--line); border-radius:var(--radius-lg) var(--radius-lg) 0 0;
}
.wp-item-title{
  font-family:var(--font-head); font-weight:700; color:var(--forest); font-size:1.02rem;
  border:1px solid transparent; border-radius:9px; padding:6px 10px; background:transparent; min-width:140px;
}
.wp-item-title:hover, .wp-item-title:focus{ border-color:var(--line); background:var(--white); outline:none; }
.wp-save-status{ display:inline-flex; align-items:center; gap:6px; font-size:0.78rem; color:var(--muted); }
.wp-save-status .dot{ width:7px; height:7px; border-radius:50%; background:var(--line); }
.wp-save-status.saved .dot{ background:var(--primary); }
.wp-save-status.guest .dot{ background:var(--gold); }
.wp-save-status.saving .dot{ background:var(--primary-light); animation:wpPulse 1s ease-in-out infinite; }
.wp-save-status.error{ color:var(--red); }
.wp-save-status.error .dot{ background:var(--red); }
@keyframes wpPulse{ 50%{ opacity:.3; } }

.wp-sub-bar{
  display:flex; align-items:center; gap:6px; flex-wrap:wrap;
  padding:8px 20px; background:var(--white); border-bottom:1px solid var(--line);
}
.wp-table-bar{ background:#F3F9F5; }
.wp-chip{ display:inline-flex; align-items:center; gap:6px; }
.wp-chip svg{ width:15px; height:15px; }
.wp-chip.wp-chip-primary{ background:var(--primary); border-color:var(--primary); color:#fff; }
.wp-chip.wp-chip-primary:hover{ background:var(--primary-dark); color:#fff; }
.wp-sub-label{ font-size:0.74rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:var(--muted); margin-right:4px; }
.wp-chip{
  border:1px solid var(--line); background:var(--white); color:var(--forest);
  border-radius:var(--radius-pill); padding:6px 12px; font-size:0.8rem; font-weight:600; cursor:pointer; white-space:nowrap;
  -webkit-user-select:none; user-select:none;
}
.wp-chip:hover{ border-color:var(--primary); color:var(--primary-dark); }
.wp-chip.danger:hover{ border-color:var(--red); color:var(--red); }
.wp-cell-edit{ background:#fff; border:2px solid var(--primary); border-radius:0; }
.wp-modal-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.wp-check{ display:flex; align-items:center; gap:8px; font-size:0.88rem; color:var(--forest); }
.wp-check input{ width:18px; height:18px; accent-color:var(--primary); }
.modal-box.wp-modal-xl{ max-width:560px; }
.modal-box.wp-modal-minutes{ max-width:980px; }
.wp-template-picker{ display:grid; grid-template-columns:minmax(0,1fr) 400px; gap:22px; align-items:start; }
.wp-template-preview{
  background:#eef6f1; border:1px solid var(--line); border-radius:16px; padding:12px; position:sticky; top:0;
}
.wp-preview-head{ display:flex; justify-content:space-between; align-items:baseline; gap:8px; margin-bottom:8px; }
.wp-preview-head strong{ font-family:var(--font-head); font-size:0.92rem; color:var(--forest); }
.wp-preview-head span{ font-size:0.76rem; color:var(--muted); white-space:nowrap; }
.wp-preview-paper{ display:flex; justify-content:center; }
.wp-preview-paper canvas{ background:#fff; box-shadow:0 6px 18px -8px rgba(12,58,43,0.35); border-radius:3px; }
.wp-preview-nav{ display:flex; justify-content:center; gap:8px; margin-top:10px; }
.wp-preview-nav .tool-btn{ padding:6px 12px; font-size:0.8rem; }
.wp-template-thumb{ flex-shrink:0; border:1px solid var(--line); border-radius:3px; background:#fff; }
.wp-template-list{ display:grid; grid-template-columns:1fr; gap:8px; }
.wp-template-card{
  display:flex; gap:10px; align-items:flex-start; border:1.5px solid var(--line); border-radius:14px; padding:12px;
  cursor:pointer; background:var(--white); transition:border-color .15s ease, background .15s ease;
}
.modal-field .wp-template-card{ display:flex; font-weight:400; margin:0; color:inherit; }
.wp-template-card:hover{ border-color:var(--primary-light); }
.wp-template-card:has(input:checked){ border-color:var(--primary); background:var(--mint-50); }
.modal-field .wp-template-card input{ width:auto; padding:0; border:none; margin-top:3px; accent-color:var(--primary); flex-shrink:0; }
.modal-field .wp-template-card{ align-items:center; }
.wp-template-body{ display:flex; flex-direction:column; gap:2px; }
.wp-template-body strong{ font-size:0.88rem; color:var(--forest); }
.wp-template-body span{ font-size:0.76rem; color:var(--muted); line-height:1.35; }
/* ---------- Finish & share (meeting minutes) ---------- */
.modal-box.wp-modal-share{ max-width:720px; }
.wp-share-section{ border-top:1px solid var(--line); padding:16px 0 6px; }
.wp-share-section h5{ font-family:var(--font-head); font-size:0.95rem; color:var(--forest); margin:0 0 10px; }
.wp-share-dl{ display:flex; gap:8px; flex-wrap:wrap; }
.wp-share-list{ display:flex; flex-direction:column; gap:6px; margin-top:10px; }
.wp-share-row{ display:grid; grid-template-columns:20px minmax(90px, 160px) 1fr; align-items:center; gap:10px; font-size:0.88rem; }
.wp-share-row input[type=checkbox], .wp-task-opts input{ width:17px; height:17px; accent-color:var(--primary); }
.wp-share-row .nm{ font-weight:600; color:var(--forest); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wp-share-row .em, .wp-task-fields input, #modalShare textarea{
  width:100%; border:1px solid var(--line); border-radius:9px; padding:8px 10px; font-size:0.86rem; font-family:var(--font-body); color:var(--ink); background:#fff;
}
#modalShare textarea{ resize:vertical; }
.wp-share-empty{ font-size:0.84rem; color:var(--muted); margin:6px 0; }
.wp-task-card{ border:1px solid var(--line); border-radius:14px; padding:12px 14px; margin-bottom:10px; background:var(--mint-50); }
.wp-task-head{ display:flex; gap:10px; align-items:baseline; justify-content:space-between; }
.wp-task-head strong{ color:var(--forest); font-size:0.92rem; }
.wp-task-status{ font-size:0.72rem; font-weight:700; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-pill); padding:2px 8px; color:var(--muted); white-space:nowrap; }
.wp-task-fields{ display:grid; grid-template-columns:1fr 1.3fr 0.9fr; gap:8px; margin-top:10px; }
.wp-task-fields label{ font-size:0.72rem; font-weight:600; color:var(--muted); display:flex; flex-direction:column; gap:3px; }
.wp-task-opts{ display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center; margin-top:10px; }
.wp-task-opts .wp-check{ font-size:0.84rem; }
.wp-check.wp-support-check{ color:#5b2f91; font-weight:600; }
.wp-task-note{ font-size:0.76rem; color:#7a5a16; }
.wp-report{ margin-top:10px; background:var(--white); border:1px solid var(--line); border-radius:10px; padding:8px 12px; }
.wp-report summary{ cursor:pointer; font-size:0.84rem; font-weight:600; color:var(--primary-dark); }
.wp-report-body ul{ list-style:disc; padding-left:20px; }
.wp-report-body ol{ list-style:decimal; padding-left:22px; }
.wp-report-body{ font-size:0.86rem; line-height:1.55; max-height:340px; overflow:auto; padding-top:6px; }
.wp-share-log{ list-style:none; margin:14px 0 0; padding:0; display:flex; flex-direction:column; gap:6px; max-height:200px; overflow:auto; }
.wp-share-log li{ font-size:0.82rem; padding:7px 10px 7px 30px; border-radius:9px; position:relative; background:var(--mint-50); color:var(--forest); }
.wp-share-log li::before{ position:absolute; left:10px; top:7px; font-weight:700; }
.wp-share-log .st-run::before{ content:'\2026'; color:var(--muted); }
.wp-share-log .st-ok::before{ content:'\2713'; color:var(--primary); }
.wp-share-log .st-warn{ background:var(--gold-100); }
.wp-share-log .st-warn::before{ content:'!'; color:var(--gold); }
.wp-share-log .st-err{ background:var(--red-100); color:#8a2e24; }
.wp-share-log .st-err::before{ content:'\2715'; color:var(--red); }
.wp-share-log .st-skip{ background:#f3f5f4; color:var(--muted); }
.wp-share-log .st-skip::before{ content:'\2013'; }
.wp-chip.wp-chip-support{ background:#f3ecfb; border-color:#dccbf1; color:#5b2f91; }
.wp-chip.wp-chip-support:hover{ border-color:#9b6fd0; color:#4a2378; }
#shareNotice p{ margin:0 0 4px; }
.wp-share-busy{ opacity:.55; pointer-events:none; }
#shareSendBtn .spin{
  width:16px; height:16px; border-radius:50%; border:2px solid rgba(255,255,255,.45); border-top-color:#fff;
  display:inline-block; animation:wpSpin .8s linear infinite;
}
@keyframes wpSpin{ to{ transform:rotate(360deg); } }
.wp-share-done{ text-align:center; padding:18px 8px 6px; border-top:1px solid var(--line); }
.wp-share-done-icon{
  width:64px; height:64px; border-radius:50%; margin:0 auto 12px; display:flex; align-items:center; justify-content:center;
  font-size:2rem; font-weight:700; background:var(--mint-100); color:var(--primary);
}
.wp-share-done.warn .wp-share-done-icon{ background:var(--gold-100); color:var(--gold); }
.wp-share-done.err .wp-share-done-icon{ background:var(--red-100); color:var(--red); }
.wp-share-done h4{ font-family:var(--font-head); font-size:1.25rem; color:var(--forest); margin:0 0 6px; }
.wp-share-done p{ color:var(--muted); font-size:0.9rem; margin:0 auto; max-width:460px; }
.wp-hint-bar{
  padding:8px 20px; background:var(--mint-100); border-bottom:1px solid var(--line);
  color:var(--primary-dark); font-size:0.84rem; font-weight:500;
}
.wp-server-banner{ background:var(--red-100); border-color:#f3cbc5; color:var(--red); }
.wp-zoom{ display:inline-flex; align-items:center; gap:4px; margin-left:6px; }
.wp-zoom #wpZoomFit{ min-width:64px; justify-content:center; padding:9px 8px; }
.wp-notice{
  background:var(--gold-100); border:1px solid #f0dca8; color:#7a5a16;
  border-radius:12px; padding:10px 12px; font-size:0.84rem; margin:6px 0 16px;
}
.wp-account-menu .wp-menu-link{
  display:block; padding:10px 12px; border-radius:9px; font-size:0.86rem; color:var(--primary-dark); font-weight:600;
}
.wp-account-menu .wp-menu-link:hover{ background:var(--mint-100); }

.tool-divider{ width:1px; align-self:stretch; background:var(--line); margin:0 4px; }
.tool-btn.sq{ width:38px; height:38px; padding:0; justify-content:center; }
.tool-btn.sq svg{ width:17px; height:17px; }
.tool-group{ display:flex; align-items:center; gap:4px; }
.wp-side-label{ font-size:0.78rem; color:var(--muted); display:flex; align-items:center; justify-content:space-between; gap:10px; }
.wp-range{ display:inline-flex; align-items:center; gap:6px; }
.wp-range input{ width:96px; accent-color:var(--primary); }
.wp-range output{ font-size:0.76rem; color:var(--forest); min-width:16px; text-align:right; }
#wpBoldBtn.active{ background:var(--primary); color:#fff; border-color:var(--primary); }
.wp-side-label input[type=checkbox]{ width:18px; height:18px; accent-color:var(--primary); }
.wp-side-row{ display:flex; flex-direction:column; gap:6px; }

.wp-toolbar-wrap{ position:relative; }
.wp-icon-panel{
  position:absolute; top:calc(100% + 6px); left:20px; z-index:30;
  background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow-soft);
  padding:12px; display:grid; grid-template-columns:repeat(6,1fr); gap:6px; width:260px;
}
.wp-icon-panel button{
  width:36px; height:36px; border-radius:9px; border:1px solid transparent; background:var(--mint-50);
  display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--forest);
}
.wp-icon-panel button:hover{ border-color:var(--primary); background:var(--mint-100); }
.wp-icon-panel button svg{ width:18px; height:18px; }

.wp-page-nav{
  display:flex; align-items:center; gap:10px; justify-content:center;
  padding:12px; border-top:1px solid var(--line); background:var(--mint-50);
}
.wp-page-nav span{ font-size:0.82rem; color:var(--muted); min-width:80px; text-align:center; }

#wpEditorView .tool-canvas-wrap{
  justify-content:flex-start; max-height:min(86vh, 1240px); overscroll-behavior:contain;
}
.wp-canvas-stage{
  position:relative; background:#fff; box-shadow:var(--shadow-soft);
  margin:0 auto; flex-shrink:0;
}
.wp-canvas-stage canvas{ display:block; touch-action:none; }
#wpTextLayer{ pointer-events:none; }
#wpTextLayer > *{ pointer-events:auto; }

/* typing directly on a ruled line / grid row */
.wp-line-input{
  position:absolute; margin:0; padding:0; border:none; outline:none;
  background:rgba(95,190,139,0.10); border-radius:3px;
  font-family:Inter, system-ui, sans-serif; font-weight:400;
  box-shadow:inset 0 -2px 0 rgba(30,142,90,0.55);
}
/* editable text box / list */
.wp-text-edit{
  position:absolute; margin:0; outline:none; box-sizing:border-box;
  border:1.5px dashed var(--primary); background:rgba(255,255,255,0.92); border-radius:4px;
  font-family:Inter, system-ui, sans-serif; line-height:1.3;
  white-space:pre-wrap; word-break:break-word; overflow-wrap:anywhere; cursor:text;
}
.wp-selection-box{
  position:absolute; border:1.5px dashed var(--primary); background:rgba(95,190,139,0.08); pointer-events:none;
}

.wp-scale-field{ display:flex; align-items:center; gap:6px; font-size:0.78rem; color:var(--muted); }
.wp-scale-field input{ width:58px; border:1px solid var(--line); border-radius:8px; padding:6px 8px; font-size:0.82rem; }

/* ---------- Modals ---------- */
.modal-overlay{
  position:fixed; inset:0; background:rgba(12,58,43,0.45); z-index:200;
  display:flex; align-items:center; justify-content:center; padding:20px;
}
.modal-box{
  background:var(--white); border-radius:var(--radius-lg); box-shadow:var(--shadow-soft);
  width:100%; max-width:420px; padding:30px; position:relative;
  max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); overflow-y:auto;
}
.modal-box.wide{ max-width:460px; }
.modal-close{
  position:absolute; top:16px; right:16px; width:32px; height:32px; border-radius:9px;
  border:1px solid var(--line); background:var(--white); cursor:pointer; color:var(--muted);
  display:flex; align-items:center; justify-content:center;
}
.modal-close:hover{ color:var(--forest); border-color:var(--primary); }
.modal-title{ font-family:var(--font-head); font-size:1.2rem; color:var(--forest); margin-bottom:6px; }
.modal-sub{ font-size:0.88rem; color:var(--muted); margin-bottom:22px; }
.modal-field{ margin-bottom:16px; }
.modal-field label{ display:block; font-size:0.82rem; font-weight:600; color:var(--forest); margin-bottom:6px; }
.modal-field input, .modal-field select{
  width:100%; border:1px solid var(--line); border-radius:10px; padding:11px 13px; font-size:0.92rem;
  font-family:var(--font-body); color:var(--ink);
}
.modal-field input:focus{ outline:none; border-color:var(--primary); }
.modal-error{ color:var(--red); font-size:0.82rem; margin:-6px 0 14px; display:none; }
.modal-error.show{ display:block; }
.modal-actions{ display:flex; gap:10px; margin-top:22px; }
.modal-switch{ text-align:center; margin-top:16px; font-size:0.85rem; color:var(--muted); }
.modal-switch a{ color:var(--primary-dark); font-weight:600; cursor:pointer; }

/* ---------- Leave-page warning banner (in-app, not a browser confirm) ---------- */
.wp-leave-overlay .modal-box{ max-width:440px; }
.wp-leave-overlay .modal-title{ display:flex; align-items:center; gap:10px; }
.wp-leave-overlay .modal-title svg{ width:22px; height:22px; color:var(--gold); }

@media (max-width: 860px){
  .wp-action-grid{ grid-template-columns:1fr; }
  .wp-demo-body{ grid-template-columns:1fr; }
  .wp-demo-rail{ flex-direction:row; justify-content:center; border-right:none; border-bottom:1px solid var(--line); }
  .wp-icon-panel{ grid-template-columns:repeat(6,1fr); width:auto; left:12px; right:12px; max-width:320px; }

  /* toolbar becomes one swipeable strip instead of many wrapped rows */
  .wp-toolbar{
    flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:thin;
    padding:10px 12px; gap:6px;
  }
  .wp-toolbar .tool-group{ flex-shrink:0; }
  .wp-toolbar .tool-spacer{ flex:0 0 8px; }
  .wp-toolbar .tool-btn.sq{ width:42px; height:42px; flex-shrink:0; }
  .wp-scale-field{ flex-shrink:0; white-space:nowrap; }

  #wpEditorView .tool-canvas-wrap{ padding:12px; max-height:none; }
  #wpEditorView .tool-side{ padding:14px 16px; gap:12px; }
  #wpEditorView .tool-side h4{ width:100%; }
  #wpEditorView .page-list{ flex-direction:row; flex-wrap:wrap; max-height:none; }
  .wp-side-row{ flex-direction:row; flex-wrap:wrap; gap:10px 18px; }
  .wp-page-nav{ flex-wrap:wrap; gap:8px; }
  .wp-zoom{ margin-left:0; }
}
@media (max-width: 600px){
  .wp-topbar{ padding:12px; gap:10px; }
  .wp-workspace-name{ min-width:0; flex:1 1 140px; width:100%; font-size:1.02rem; }
  .wp-topbar .tool-spacer{ display:none; }
  .wp-account-btn{ max-width:180px; }
  .wp-account-btn span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .wp-dashboard{ padding:18px 14px; }
  .wp-action-card{ padding:20px; }
  .wp-guest-banner{ flex-wrap:wrap; }
  .wp-guest-banner button{ margin-left:0; }
  .wp-item-row{ flex-wrap:wrap; padding:12px; }
  .wp-item-actions{ width:100%; justify-content:flex-end; }
  .wp-item-actions button{ flex:1; padding:9px 6px; }

  .wp-editor-topbar{ padding:10px 12px; gap:8px; }
  .wp-item-title{ order:1; flex:1 1 100%; min-width:0; width:100%; }
  #wpBackBtn{ order:0; }
  .wp-save-status{ order:0; margin-left:auto; }
  .wp-editor-topbar .tool-spacer{ display:none; }
  #wpExportWordBtn, #wpExportPdfBtn{ order:2; flex:1; justify-content:center; }
  #wpEditorView .tool-canvas-wrap{ padding:8px; }
  .wp-hint-bar{ padding:8px 12px; font-size:0.8rem; }
  .wp-sub-bar{ flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding:8px 12px; }
  .wp-chip{ flex-shrink:0; padding:8px 12px; }
  .wp-template-list{ grid-template-columns:1fr; }
  .wp-task-fields{ grid-template-columns:1fr 1fr; }
  .wp-task-fields label:last-child{ grid-column:span 2; }
  .wp-share-row{ grid-template-columns:20px 1fr; }
  .wp-share-row .em{ grid-column:2; }
  .wp-template-picker{ grid-template-columns:1fr; }
  .wp-template-preview{ position:static; order:-1; }
  .modal-box{ padding:24px 18px; }
  .modal-actions{ flex-direction:column-reverse; }
}

/* ---------- Meeting minutes: smart cells (date picker & dropdowns) ---------- */
.wp-cell-pick{
  position:absolute; z-index:30; min-width:200px; max-width:280px;
  background:#fff; border:1px solid var(--line); border-radius:12px;
  box-shadow:0 14px 34px -14px rgba(12,58,43,0.35); padding:8px;
  font-family:var(--font-body); font-size:0.88rem;
}
.wp-pick-title{ font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:var(--muted); padding:2px 6px 6px; }
.wp-pick-list{ display:flex; flex-direction:column; gap:2px; max-height:240px; overflow:auto; }
.wp-pick-opt{
  display:flex; align-items:center; gap:8px; width:100%; text-align:left; border:none; background:none;
  padding:8px 10px; border-radius:8px; cursor:pointer; color:var(--ink); font:inherit;
}
.wp-pick-opt:hover, .wp-pick-opt.hi{ background:var(--mint-100); color:var(--primary-dark); }
.wp-pick-opt .dot{ width:10px; height:10px; border-radius:50%; border:1px solid rgba(0,0,0,0.12); flex-shrink:0; }
.wp-pick-opt.clear{ color:var(--muted); border-top:1px solid var(--line); border-radius:0 0 8px 8px; margin-top:4px; }
.wp-pick-hint{ font-size:0.75rem; color:var(--muted); padding:6px 8px 2px; line-height:1.4; }
.wp-pick-input{
  width:100%; border:1px solid var(--line); border-radius:10px; padding:9px 10px; font:inherit; font-size:0.95rem; color:var(--ink);
}
.wp-pick-input:focus{ outline:none; border-color:var(--primary); }
.wp-pick-actions{ display:flex; gap:6px; margin-top:8px; }
.wp-pick-actions button{
  flex:1; border:1px solid var(--line); background:var(--mint-50); color:var(--forest); border-radius:9px;
  padding:7px 8px; font-size:0.8rem; font-weight:600; cursor:pointer;
}
.wp-pick-actions button:hover{ border-color:var(--primary); }
@media (max-width: 520px){ .wp-cell-pick{ min-width:180px; font-size:0.95rem; } .wp-pick-opt{ padding:11px 10px; } }

/* ---------- Plans & upgrade ---------- */
.modal-box.wp-modal-plan{ max-width:720px; }
.wp-plan-reason{ background:var(--gold-100); color:#7a5a16; border:1px solid #f1d9a8; border-radius:12px; padding:10px 14px; font-size:0.9rem; margin:6px 0 14px; }
.wp-plan-reason.ok{ background:var(--mint-100); color:var(--primary-dark); border-color:var(--line); }
.wp-plan-reason.err{ background:var(--red-100); color:var(--red); border-color:#f3cbc5; }
.wp-plan-current{ border:1px solid var(--line); border-radius:14px; padding:14px 16px; background:var(--mint-50); }
.wp-plan-current .top{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.wp-plan-current .top strong{ font-family:var(--font-head); color:var(--forest); font-size:1.05rem; }
.wp-plan-current .top span{ color:var(--muted); font-size:0.85rem; }
.wp-usage{ display:grid; grid-template-columns:repeat(auto-fit, minmax(110px, 1fr)); gap:12px; }
.wp-usage-row{ font-size:0.8rem; color:var(--muted); }
.wp-usage-row b{ display:block; color:var(--forest); font-size:0.95rem; }
.wp-usage-bar{ height:6px; border-radius:4px; background:#dfece4; margin-top:6px; overflow:hidden; }
.wp-usage-bar i{ display:block; height:100%; background:var(--primary); border-radius:4px; }
.wp-usage-bar i.full{ background:var(--red); }
.wp-plan-upgrade h4{ font-family:var(--font-head); color:var(--forest); font-size:1rem; margin:20px 0 10px; }
.wp-plan-cards{ display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:12px; }
.wp-plan-card{ border:1px solid var(--line); border-radius:14px; padding:16px; display:flex; flex-direction:column; gap:8px; background:#fff; }
.wp-plan-card .name{ font-family:var(--font-head); font-weight:700; color:var(--forest); }
.wp-plan-card .price{ font-family:var(--font-head); font-size:1.5rem; font-weight:700; color:var(--primary-dark); }
.wp-plan-card .price small{ font-size:0.8rem; color:var(--muted); font-weight:500; }
.wp-plan-card ul{ list-style:none; padding:0; margin:0 0 4px; font-size:0.84rem; color:var(--ink); }
.wp-plan-card li{ padding:2px 0 2px 18px; position:relative; }
.wp-plan-card li::before{ content:'\2713'; position:absolute; left:0; color:var(--primary); font-weight:700; }
.wp-plan-card .pay{ display:flex; flex-direction:column; gap:6px; margin-top:auto; }
.wp-plan-card .pay button{ border-radius:10px; padding:10px 12px; font-weight:700; font-size:0.86rem; cursor:pointer; border:1px solid var(--primary); }
.wp-plan-card .pay .card{ background:var(--primary); color:#fff; }
.wp-plan-card .pay .paypal{ background:#FFC439; border-color:#FFC439; color:#003087; }
.wp-plan-card .pay button:disabled{ opacity:0.55; cursor:wait; }
.wp-plan-fine{ margin-top:12px; font-size:0.78rem; }
.wp-plan-empty{ color:var(--muted); font-size:0.88rem; }
@media (max-width: 560px){ .wp-usage{ grid-template-columns:1fr 1fr; } }
.wp-plan-strip{
  display:flex; align-items:center; gap:6px 14px; flex-wrap:wrap; margin:18px 0 4px; padding:10px 14px;
  border:1px solid var(--line); border-radius:12px; background:var(--mint-50); font-size:0.84rem; color:var(--muted);
}
.wp-plan-strip:empty{ display:none; }
.wp-plan-strip strong{ color:var(--forest); font-family:var(--font-head); }
.wp-plan-strip span.full{ color:var(--red); font-weight:600; }
.wp-plan-strip button{
  margin-left:auto; border:1px solid var(--primary); background:var(--primary); color:#fff; border-radius:9px;
  padding:6px 12px; font-weight:700; font-size:0.8rem; cursor:pointer;
}

/* ---------- Meeting minutes: follow-up meetings ---------- */
.wp-select-wide{ width:100%; padding:10px 12px; font-size:0.95rem; }
.wp-prev-hint{ margin:8px 0 0; font-size:0.84rem; color:var(--primary-dark); background:var(--mint-50); border:1px solid var(--line); border-radius:10px; padding:9px 12px; line-height:1.45; }
.wp-prev-hint:empty{ display:none; }
.wp-page-group{ font-size:0.7rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:#7a5a16; padding:10px 4px 4px; }
.wp-page-group.current{ color:var(--primary-dark); }
#wpPageList button.older{ background:#FFFBF2; }
