/* GoalFlow — Bloc-notes (gf-notes.js). Mobile d'abord ; couleurs en variables du thème. */

.gf-notes-view{display:block}
.gf-notes-page{position:relative;padding-bottom:40px}
[data-gf="notes-view"] [hidden],.gf-note-editor [hidden]{display:none!important}

/* Couleurs de note : clair par défaut, redéfinies en sombre plus bas. */
.gf-note-color-default{--note-bg:var(--surface);--note-line:var(--line);--note-dot:var(--surface)}
.gf-note-color-yellow{--note-bg:#fff5cf;--note-line:#f1e2a6;--note-dot:#f7d65a}
.gf-note-color-green{--note-bg:#e1f5ea;--note-line:#c3e7d3;--note-dot:#6cc79b}
.gf-note-color-blue{--note-bg:#e3eefc;--note-line:#c8dbf5;--note-dot:#6aa2e6}
.gf-note-color-pink{--note-bg:#fde6ee;--note-line:#f6cddb;--note-dot:#ec7fa5}
.gf-note-color-purple{--note-bg:#ede7fd;--note-line:#dcd2fa;--note-dot:#9a86ec}
html[data-gf-theme="dark"] .gf-note-color-yellow{--note-bg:#393222;--note-line:#4d4430;--note-dot:#d9b54a}
html[data-gf-theme="dark"] .gf-note-color-green{--note-bg:#1d332a;--note-line:#2a4a3b;--note-dot:#5fb98e}
html[data-gf-theme="dark"] .gf-note-color-blue{--note-bg:#1e2b3d;--note-line:#2c3e56;--note-dot:#5c93d6}
html[data-gf-theme="dark"] .gf-note-color-pink{--note-bg:#3a2330;--note-line:#523344;--note-dot:#d9739a}
html[data-gf-theme="dark"] .gf-note-color-purple{--note-bg:#2b2545;--note-line:#3d355f;--note-dot:#8f7cf0}

/* ---- En-tête et outils ------------------------------------------------------- */

.gf-notes-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.gf-notes-heading h1{margin:8px 0 0;color:var(--ink);font-size:clamp(28px,6vw,40px);line-height:1.05;letter-spacing:-.045em}
.gf-notes-sub{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.gf-notes-new{display:inline-flex;align-items:center;gap:7px;flex:none;min-height:44px;padding:0 18px}
.gf-notes-tools{display:grid;gap:10px;margin-bottom:16px}
.gf-notes-search{display:flex;align-items:center;gap:8px;height:46px;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--muted)}
.gf-notes-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:14px}
.gf-notes-search:focus-within{border-color:var(--violet);box-shadow:0 0 0 3px #7661dc26}
.gf-notes-filters{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -2px;padding:2px}
.gf-notes-filters::-webkit-scrollbar{display:none}
.gf-notes-filter{flex:none;min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-soft);font-size:12px;font-weight:700;transition:background .15s,color .15s,border-color .15s}
.gf-notes-filter[aria-pressed="true"]{border-color:var(--violet);background:var(--violet);color:#fff}
.gf-notes-label{display:flex;align-items:center;gap:6px;margin:4px 2px 10px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.gf-notes-section+.gf-notes-section{margin-top:14px}
.gf-notes-noresult{margin:24px 0;color:var(--muted);font-size:13px;text-align:center}

/* ---- Grille de notes (colonnes façon « masonry ») ----------------------------- */

.gf-notes-grid{columns:2;column-gap:10px}
.gf-note-card{position:relative;display:block;break-inside:avoid;margin:0 0 10px;padding:14px 14px 10px;border:1px solid var(--note-line);border-radius:16px;background:var(--note-bg);color:var(--ink);cursor:pointer;outline:0;transition:transform .12s,box-shadow .15s;-webkit-tap-highlight-color:transparent}
.gf-note-card:hover{box-shadow:var(--shadow)}
.gf-note-card:active{transform:scale(.98)}
.gf-note-card:focus-visible{box-shadow:0 0 0 3px var(--violet)}
.gf-note-card h3{margin:0 18px 6px 0;font-size:14px;font-weight:750;line-height:1.3;letter-spacing:-.01em;overflow-wrap:anywhere}
.gf-note-card p{margin:0;color:var(--ink-soft);font-size:12.5px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:9;-webkit-box-orient:vertical;overflow:hidden}
.gf-note-card h3+p{-webkit-line-clamp:7}
.gf-note-card .gf-note-blank{color:var(--muted);font-style:italic}
.gf-note-pin{position:absolute;top:12px;right:11px;color:var(--violet)}
.gf-note-foot{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:10px}
.gf-note-foot time{margin-left:auto;color:var(--muted);font-size:10.5px}
.gf-note-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px 7px;border-radius:999px;background:var(--surface);color:var(--ink-soft);font-size:10px;font-weight:750;white-space:nowrap}
.gf-note-chip span{overflow:hidden;text-overflow:ellipsis}
.gf-note-chip.is-reminder{color:var(--violet)}
.gf-note-chip.is-goal{background:var(--mint-soft);color:var(--mint)}
.gf-note-color-default .gf-note-chip{background:var(--surface-soft)}

.gf-notes-skeleton i{display:block;break-inside:avoid;height:120px;margin:0 0 10px;border-radius:16px;background:linear-gradient(100deg,var(--surface-soft) 30%,var(--surface) 50%,var(--surface-soft) 70%) 0 0/300% 100%;animation:gf-notes-shimmer 1.3s linear infinite}
.gf-notes-skeleton i:nth-child(2){height:170px}
.gf-notes-skeleton i:nth-child(3){height:90px}
@keyframes gf-notes-shimmer{to{background-position:-300% 0}}

.gf-notes-empty{display:grid;justify-items:center;gap:10px;margin:28px auto;padding:34px 22px;max-width:420px;border:1px dashed var(--line);border-radius:20px;text-align:center}
.gf-notes-illustration{display:grid;place-items:center;width:76px;height:76px;margin-bottom:6px;border-radius:24px;background:var(--violet-soft);color:var(--violet)}
.gf-notes-empty strong{color:var(--ink);font-size:18px;letter-spacing:-.02em}
.gf-notes-empty p{max-width:320px;margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.gf-notes-empty .primary-button{min-height:46px;margin-top:8px;padding:0 22px}

.gf-notes-fab{position:fixed;z-index:25;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(88px + env(safe-area-inset-bottom,0px));display:none;place-items:center;width:58px;height:58px;border-radius:20px;background:var(--violet);color:#fff;box-shadow:0 12px 24px #7661dc4d;transition:transform .15s}
.gf-notes-fab:active{transform:scale(.94)}

@media (max-width:700px){
  .gf-notes-page{padding-bottom:110px}
  .gf-notes-new{display:none}
  .gf-notes-fab{display:grid}
  .gf-notes-head{margin-bottom:14px}
}
@media (min-width:701px){
  .gf-notes-tools{grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .gf-notes-grid{columns:3}
}
@media (min-width:1100px){.gf-notes-grid{columns:4}}

/* ---- Éditeur : plein écran sur téléphone, fenêtre sur ordinateur -------------- */

html.gf-note-open,html.gf-note-open body{overflow:hidden}
.gf-note-editor{position:fixed;z-index:96;inset:0;display:flex;background:var(--note-bg)}
.gf-note-sheet{display:flex;flex-direction:column;width:100%;height:100%;height:100dvh;background:var(--note-bg);color:var(--ink);animation:gf-note-in .22s var(--ease-out)}
@keyframes gf-note-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.gf-note-bar{display:flex;align-items:center;gap:4px;min-height:58px;padding:calc(7px + env(safe-area-inset-top,0px)) 8px 7px}
.gf-note-icon{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:transparent;color:var(--ink-soft);transition:background .15s,color .15s}
.gf-note-icon:hover,.gf-note-icon:active{background:#0000000d}
html[data-gf-theme="dark"] .gf-note-icon:hover,html[data-gf-theme="dark"] .gf-note-icon:active{background:#ffffff12}
.gf-note-icon[aria-pressed="true"]{color:var(--violet)}
.gf-note-icon[aria-pressed="true"] svg{fill:currentColor}
.gf-note-icon[data-delete]:hover{color:var(--coral)}
.gf-note-status{flex:1;min-width:0;overflow:hidden;color:var(--muted);font-size:12px;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.gf-note-status.is-warning{color:var(--coral)}
.gf-note-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 20px 24px}
.gf-note-title{display:block;width:100%;margin:0 0 6px;padding:6px 0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:22px;font-weight:750;letter-spacing:-.02em}
.gf-note-body{display:block;width:100%;min-height:180px;padding:4px 0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:16px;line-height:1.6;resize:none;overflow:hidden}
.gf-note-title::placeholder,.gf-note-body::placeholder{color:var(--muted)}
.gf-note-meta{margin:10px 0 0;color:var(--muted);font-size:11px}
.gf-note-panel{display:grid;gap:10px;margin-top:18px;padding:14px;border:1px solid var(--note-line);border-radius:16px;background:var(--surface);transition:opacity .15s}
.gf-note-panel.is-busy{opacity:.65}
.gf-note-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.gf-note-panel-head strong{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-size:14px}
.gf-note-panel-head strong svg{width:17px;height:17px;color:var(--violet)}
.gf-note-panel-head span{color:var(--muted);font-size:12px}
.gf-note-panel-text{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.55}
.gf-note-field{display:grid;gap:5px;margin:10px 0;color:var(--muted);font-size:12px;font-weight:700}
.gf-note-convert{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px}
.gf-note-convert svg{width:18px;height:18px}
.gf-note-panel .gf-reminder-text strong{font-size:13px}
.gf-note-panel .gf-reminder-text span{font-size:11px}
.gf-note-panel .gf-form-message{margin:0;font-size:12px}
.gf-note-palette{display:flex;justify-content:center;gap:12px;padding:10px 16px;border-top:1px solid var(--note-line)}
.gf-note-swatch{display:grid;place-items:center;width:36px;height:36px;border:2px solid var(--note-line);border-radius:50%;background:var(--note-dot);color:transparent;transition:transform .12s}
.gf-note-swatch.gf-note-color-default{background:var(--surface);border-color:var(--line)}
.gf-note-swatch[aria-checked="true"]{border-color:var(--ink);color:var(--ink)}
.gf-note-swatch:active{transform:scale(.9)}
.gf-note-actions{display:flex;gap:6px;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--note-line)}
.gf-note-action{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1;min-height:52px;border-radius:14px;background:transparent;color:var(--ink-soft);font-size:11px;font-weight:750;transition:background .15s,color .15s}
.gf-note-action[aria-expanded="true"]{background:var(--surface);color:var(--violet)}
.gf-note-action.has-value::after{content:"";position:absolute;top:8px;left:calc(50% + 8px);width:7px;height:7px;border-radius:50%;background:var(--violet)}
.gf-note-action[data-toggle="convert"].has-value::after{background:var(--mint)}

@media (hover:none) and (pointer:coarse){.gf-note-panel .gf-input{font-size:16px}}

@media (min-width:701px){
  .gf-note-editor{align-items:center;justify-content:center;padding:24px;background:#1b15304d;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
  .gf-note-sheet{width:min(680px,100%);height:auto;max-height:min(86vh,860px);border:1px solid var(--note-line);border-radius:22px;box-shadow:var(--shadow-strong);overflow:hidden}
  .gf-note-bar{padding-top:8px}
  .gf-note-actions{padding-bottom:10px}
  .gf-note-scroll{padding:4px 28px 24px}
}
