
/* hide wordpress/theme header */
header,
.site-header,
.elementor-location-header,
#masthead,
#site-header,
.elementor-header,
.ast-header-break-point{
display:none !important;
}
body{margin-top:0 !important;}

/* Hide WordPress theme chrome on the NLFÍ app page */
body.nfli-app-page header,
body.nfli-app-page .site-header,
body.nfli-app-page #masthead,
body.nfli-app-page .wp-site-blocks > header,
body.nfli-app-page .site-branding,
body.nfli-app-page .site-title,
body.nfli-app-page .site-description,
body.nfli-app-page footer,
body.nfli-app-page .site-footer,
body.nfli-app-page #colophon {
  display: none !important;
}
body.nfli-app-page {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
}
html.nfli-app-page,
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}
body.nfli-app-page .site,
body.nfli-app-page #page,
body.nfli-app-page main,
body.nfli-app-page .content-area {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
  overflow-x: hidden !important;
}


:root{
  /* Institutional / neutral palette */
  --nfli-bg:#f3f4f6;
  --nfli-card:#ffffff;
  --nfli-ink:#0b1220;
  --nfli-text:#0f172a;
  --nfli-accent:#2563eb; /* professional blue */
  --nfli-accent-soft:#dbeafe;
  --nfli-border:#e5e7eb;
  --nfli-muted:#111111;
  --nfli-button-ghost-text:#0b1220;
  --nfli-button-ghost-border:#0b1220;
  --nfli-button-danger-text:#111111;
  --nfli-header-user:#374151;
  --nfli-radius:16px;
  --nfli-vh:100vh;

  /* Typography */
  /* User request: use Arial everywhere (fallback to Helvetica/sans-serif). */
  --nfli-font: Arial, Helvetica, sans-serif;
  --nfli-heading-font: Arial, Helvetica, sans-serif;
  --nfli-tab-font: Arial, Helvetica, sans-serif;
  --nfli-button-font: Arial, Helvetica, sans-serif;
  --nfli-card-title-font: Arial, Helvetica, sans-serif;
  --nfli-card-meta-font: Arial, Helvetica, sans-serif;
  --nfli-font-size:15px;
  --nfli-wrap-max:1500px;
  --nfli-wrap-h-pad:40px;
  --nfli-picker-text:var(--nfli-button-text, var(--nfli-accent));
  --nfli-picker-border:color-mix(in srgb, var(--nfli-button-text, var(--nfli-accent)) 45%, #ffffff);
  --nfli-wrap-v-pad:24px;
  --nfli-mobile-h-pad:6px;
  --nfli-mobile-v-pad:8px;
  --nfli-line-height:1.35;

  /* Headings & UI scale (smaller / cleaner) */
  --nfli-h1:22px;
  --nfli-h1-mobile:20px;
  --nfli-brand-size:18px;
  --nfli-tab-size:13px;
  --nfli-btn-size:13px;
  --nfli-title:15px;
  --nfli-meta:12px;
}
*{box-sizing:border-box}
html{font-size:var(--nfli-font-size)}
html,body{font-family:var(--nfli-font); color:var(--nfli-ink); line-height:var(--nfli-line-height); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility}
.nfli-wrap{padding:var(--nfli-wrap-v-pad) var(--nfli-wrap-h-pad);max-width:var(--nfli-wrap-max);width:100%;margin:0 auto;overflow-x:hidden}
@media (max-width:640px){.nfli-wrap{padding:var(--nfli-mobile-v-pad) var(--nfli-mobile-h-pad);max-width:none}}

/* Login overlay */
.nfli-login{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);z-index:100000;padding:18px}
.nfli-login[hidden]{display:none}
.nfli-login-card{width:100%;max-width:420px;background:#fff;border-radius:16px;padding:18px;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.nfli-login-title{font-size:18px;font-weight:700;margin:0 0 12px 0}
.nfli-login-row{margin:10px 0}
.nfli-login-row input{width:100%}
.nfli-shell{background:var(--nfli-card);border:1px solid var(--nfli-border);border-radius:var(--nfli-radius);box-shadow:0 10px 26px rgba(15,23,42,.08)}
.nfli-topbar{position:sticky;top:0;z-index:40;background:color-mix(in srgb, var(--nfli-header-bg) 92%, transparent);backdrop-filter:saturate(180%) blur(10px);padding:10px 12px;border-bottom:1px solid var(--nfli-border)}
.nfli-headercard{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--nfli-border);border-radius:16px;background:var(--nfli-header-bg);box-shadow:0 8px 24px rgba(17,24,39,.08);flex-wrap:wrap}
.nfli-brand{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 auto}
.nfli-logo-wrap{flex:0 0 auto;width:56px;height:56px;border-radius:16px;background:color-mix(in srgb, var(--nfli-header-bg) 70%, #f3f4f6);display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(0,0,0,.06)}
.nfli-logo{width:56px;height:56px;object-fit:contain;border:none;background:transparent;flex:0 0 auto}
.nfli-brand-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.nfli-title{font-family:var(--nfli-heading-font,var(--nfli-font));font-weight:800;letter-spacing:.3px;font-size:22px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nfli-version{font-family:var(--nfli-card-meta-font,var(--nfli-font));font-weight:700;color:var(--nfli-muted);font-size:12px;margin-left:8px;opacity:1}
.nfli-user{font-family:var(--nfli-card-meta-font,var(--nfli-font));font-size:13px;color:var(--nfli-header-user,var(--nfli-muted));font-weight:600;align-items:flex-start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media (max-width:520px){
  .nfli-headercard{flex-direction:column;align-items:stretch}
  .nfli-top-actions{justify-content:flex-end}
  .nfli-brand{width:100%}
}
.nfli-top-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex:0 0 auto}
.nfli-iconbtn{position:relative;width:44px;height:44px;border-radius:14px;border:1px solid var(--nfli-button-ghost-border,var(--nfli-border));background:var(--nfli-button-bg,#fff);display:flex;align-items:center;justify-content:center;color:var(--nfli-button-ghost-text,#111111) !important;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.nfli-iconbtn:active{transform:translateY(1px)}
.nfli-icon{display:flex;align-items:center;justify-content:center}
.nfli-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:#d63638;color:#fff;font-size:12px;line-height:1;margin-left:4px}
.nfli-iconbtn .nfli-badge{position:absolute;top:-6px;right:-6px;margin-left:0;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.nfli-link{font-family:var(--nfli-button-font,var(--nfli-font));display:inline-block;padding:9px 12px;border:1px solid var(--nfli-button-ghost-border,var(--nfli-border));border-radius:12px;text-decoration:none;color:var(--nfli-button-ghost-text,#111111) !important;font-weight:600;background:var(--nfli-button-bg,#fff);font-size:var(--nfli-btn-size)}
.nfli-link:hover{filter:brightness(.97)}

/* Ensure the logout button is always clickable even when embedded in editors/themes */
#nfliLogoutBtn{position:relative;z-index:30;pointer-events:auto}

.nfli-tabs{display:flex;flex-wrap:wrap;gap:10px;padding:10px var(--nfli-wrap-h-pad) 6px}
.nfli-tab{font-family:var(--nfli-tab-font,var(--nfli-font));border:1px solid color-mix(in srgb, var(--nfli-accent) 25%, #ffffff);background:var(--nfli-tab-bg, #fff);border-radius:999px;padding:9px 12px;font-weight:600;cursor:pointer;color:var(--nfli-tab-text, var(--nfli-accent, #2563eb));font-size:var(--nfli-tab-size)}
.nfli-tab:hover{background:color-mix(in srgb, var(--nfli-accent) 6%, #ffffff)}
.nfli-tab.is-active{background:var(--nfli-tab-active-bg, var(--nfli-ink));color:var(--nfli-tab-active-text, #fff);border-color:var(--nfli-tab-active-bg, var(--nfli-ink))}

.nfli-body{padding:10px var(--nfli-wrap-h-pad) 18px}
.nfli-panel{display:none}
.nfli-panel.is-active{display:block}
.nfli-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}

.nfli-subtools{margin:10px 0 12px;}
.nfli-search-input{width:100%;max-width:100%;}
.nfli-panel-head h2{font-family:var(--nfli-heading-font,var(--nfli-font));margin:0;font-size:var(--nfli-h1);letter-spacing:-.2px;font-weight:700}
.nfli-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

.nfli-inline{display:flex;gap:6px;align-items:center;font-size:13px}
.nfli-inline input[type=date]{height:34px}

.nfli-btn{font-family:var(--nfli-button-font,var(--nfli-font));border:1px solid var(--nfli-button-ghost-border,var(--nfli-border));background:var(--nfli-button-bg,#fff);color:var(--nfli-button-text,#111111) !important;border-radius:14px;padding:9px 12px;font-weight:600;cursor:pointer;font-size:var(--nfli-btn-size)}
.nfli-btn.is-primary,.nfli-btn-primary{background:var(--nfli-button-bg,#fff);color:var(--nfli-button-text,#111111) !important;border-color:var(--nfli-button-ghost-border,var(--nfli-border))}
.nfli-btn:hover{filter:brightness(.97)}
.nfli-btn-ghost{border-color:var(--nfli-button-ghost-border,var(--nfli-button-ghost-text,var(--nfli-ink)));color:var(--nfli-button-ghost-text,var(--nfli-ink)) !important;background:var(--nfli-button-bg,#fff)}
.nfli-btn-danger{border-color:var(--nfli-button-danger-text,#111111);color:var(--nfli-button-danger-text,#111111) !important;background:var(--nfli-button-bg,#fff)}
.nfli-pill{display:inline-block;border:1px solid var(--nfli-border);border-radius:999px;padding:4px 10px;font-size:12px;background:#fff}

/* Status pill (same colour logic as task left stripe) */
.nfli-pill-status{margin-left:6px}
.nfli-pill-status[data-status*="ókl"],
.nfli-pill-status[data-status*="op"]{background:#fff7ed;border-color:#f59e0b;color:#92400e}
.nfli-pill-status[data-status*="vinn"]{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}
.nfli-pill-status[data-status*="loki"]{background:#ecfdf5;border-color:#10b981;color:#047857}
.nfli-pill-status[data-status*="hætt"]{background:#fef2f2;border-color:#ef4444;color:#b91c1c}

select,input,textarea{width:100%;border:1px solid rgba(15,23,42,.14);border-radius:14px;padding:12px 12px;font-size:16px;outline:none;background:#fff;-webkit-text-size-adjust:100%}
textarea{min-height:92px;resize:vertical}
label{display:block;margin:10px 0 0;font-weight:600;color:#111827}
label > input,label > select,label > textarea{margin-top:6px;font-weight:500}
.nfli-font-preview{margin-top:6px;padding:10px 12px;border:1px dashed var(--nfli-border);border-radius:12px;background:color-mix(in srgb, var(--nfli-card) 92%, var(--nfli-bg));font-size:14px;color:var(--nfli-text)}
#nfli-preview-heading-font-family{font-size:14px;font-weight:700}
#nfli-preview-tab-font-family,#nfli-preview-button-font-family{font-size:13px;font-weight:600}
#nfli-preview-card-title-font-family{font-size:15px;font-weight:600}
#nfli-preview-card-meta-font-family{font-size:12px}

.nfli-list{margin-top:12px;border:1px solid rgba(15,23,42,.10);border-radius:16px;overflow:hidden;background:#fff}
.nfli-list.compact .nfli-item{padding:10px 12px}
.nfli-item{
  /* Unified row layout across Tasks / Shopping / Special / Inventory.
     Grid avoids overlap and keeps action buttons aligned in a clean right column. */
  display:grid;
  grid-template-columns: 1fr auto;
  align-items:center;
  gap:10px;
  padding:12px 12px;
  border-top:1px solid rgba(15,23,42,.08);
  background:#fff;
  position:relative;
}
.nfli-item:first-child{border-top:none}
.nfli-item .meta{font-family:var(--nfli-card-meta-font,var(--nfli-font));color:var(--nfli-muted);font-size:var(--nfli-meta);margin-top:3px;line-height:1.3}
.nfli-item .title{font-family:var(--nfli-card-title-font,var(--nfli-font));font-weight:600;font-size:var(--nfli-title);letter-spacing:0;line-height:1.22}
.nfli-item .left{display:flex;flex-direction:column;min-width:0}
.nfli-item .right{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap; /* keep buttons in a single row */
}

/* When left contains thumbnail + text, keep it aligned and prevent overflow */
.nfli-left-with-thumb > div{min-width:0}
/*
  Text in list rows (Verkefni / Verkefni dagsins / Saga / Logg / Innkaupalistar o.fl.).
  We intentionally allow wrapping so the user can see full details on mobile.
*/
.nfli-item .title,
.nfli-item .meta{overflow:visible;text-overflow:clip;white-space:normal}

.nfli-task-row{padding-left:18px}

/* Left colour stripe (used for task status) */
.nfli-status-bar{position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--nfli-border)}
.nfli-status-bar{border-top-left-radius:0;border-bottom-left-radius:0}
/* Match list rounding if the item itself is rounded elsewhere */
.nfli-card .nfli-status-bar{border-top-left-radius:12px;border-bottom-left-radius:12px}

.nfli-status-bar[data-status*="ókl"]{background:#f59e0b}
.nfli-status-bar[data-status*="op"]{background:#f59e0b}
.nfli-status-bar[data-status*="vinn"]{background:#3b82f6}
.nfli-status-bar[data-status*="loki"]{background:#10b981}
.nfli-status-bar[data-status*="hætt"]{background:#ef4444}

.nfli-profile-top{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.nfli-profile-name{font-weight:700;font-size:18px}
.nfli-avatar{width:64px;height:64px;border-radius:999px;object-fit:cover;border:1px solid var(--nfli-border)}

/* Section cards (used in editor panes) */
.nfli-card{border:1px solid rgba(15,23,42,.10);border-radius:16px;padding:14px;margin-bottom:12px;background:#fff}
.nfli-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:10px}
.nfli-appearance-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.nfli-color-field{display:block}
.nfli-color-row{display:flex;gap:10px;align-items:center;margin-top:6px}
.nfli-color-field input[type="color"]{inline-size:56px;block-size:42px;padding:0;border-radius:12px;border:1px solid var(--nfli-border);background:var(--nfli-card);cursor:pointer}
.nfli-color-hex{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.02em}
.nfli-font-preview{min-height:44px;display:flex;align-items:center}

@media(min-width:720px){.nfli-grid{grid-template-columns:2fr 1fr 1fr}}
.nfli-row{display:grid;grid-template-columns:2fr 1fr 1fr 2fr auto auto;gap:8px;align-items:center;margin-bottom:8px}
.nfli-check{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--nfli-text)}

.nfli-row{display:flex;gap:10px;align-items:center;margin-top:10px}
.nfli-row > *{flex:1}
.nfli-row .nfli-check{flex:0 0 auto;display:flex;align-items:center;gap:8px;font-weight:700;color:#111827}
.nfli-row .nfli-check input{width:auto}

/* Innkaupalisti: einfaldari vörulína (nafn + magn + eining + eyða) */
.nfli-shop-row{display:grid;grid-template-columns:minmax(0,1fr) 64px 104px 44px;gap:8px;align-items:start;margin:10px 0}
#nfli-shop-editor,.nfli-panel[data-panel="shopping"]{font-family:var(--nfli-shopping-font,var(--nfli-modal-font,var(--nfli-font)));font-size:var(--nfli-shopping-size,var(--nfli-modal-text-size,14px))}
#nfli-shop-editor h3,.nfli-panel[data-panel="shopping"] h1,.nfli-panel[data-panel="shopping"] h2,.nfli-panel[data-panel="shopping"] h3{font-family:var(--nfli-shopping-heading-font,var(--nfli-heading-font,var(--nfli-font)))}
#nfli-shop-editor label,.nfli-panel[data-panel="shopping"] label,.nfli-panel[data-panel="shopping"] .nfli-muted{font-size:var(--nfli-shopping-size,var(--nfli-modal-text-size,14px))}
.nfli-shop-row input,.nfli-shop-row select{padding:10px 12px;font-size:var(--nfli-shopping-input-size,var(--nfli-modal-input-size,15px))}
.nfli-shop-name-wrap{position:relative;min-width:0}.nfli-shop-row .nfli-shop-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:44px}.nfli-shop-pick-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:1px solid var(--nfli-picker-border,#d8dbe6);background:#fff;font-size:16px;line-height:1;padding:0;width:34px;height:34px;border-radius:10px;color:var(--nfli-picker-text,var(--nfli-button-text,var(--nfli-accent)));display:flex;align-items:center;justify-content:center}.nfli-shop-picker{display:grid;gap:10px}.nfli-shop-picker input{padding:12px 14px;font-size:var(--nfli-shopping-input-size,var(--nfli-modal-input-size,15px))}.nfli-shop-picker-list{display:grid;gap:6px;max-height:52vh;overflow:auto}.nfli-shop-picker-item{display:block;width:100%;text-align:left;border:1px solid var(--nfli-picker-border,#d8dbe6);background:#fff;border-radius:14px;padding:12px 14px;font-size:var(--nfli-shopping-input-size,var(--nfli-modal-input-size,15px));color:var(--nfli-picker-text,var(--nfli-button-text,var(--nfli-accent)))}.nfli-shop-inline-suggestions{display:none;position:absolute;left:0;right:auto;top:calc(100% + 6px);z-index:9999;width:max(100%,360px);max-width:min(96vw,520px);background:#fff !important;border:1px solid #d1d5db;border-radius:14px;box-shadow:0 12px 28px rgba(15,23,42,.12);max-height:260px;overflow:auto;-webkit-overflow-scrolling:touch;padding:8px 0}.nfli-shop-name-wrap.is-open .nfli-shop-inline-suggestions{display:block !important}.nfli-shop-inline-suggestions *{float:none !important}.nfli-shop-inline-item,.nfli-shop-inline-suggestions .nfli-shop-inline-item,.nfli-shop-inline-suggestions button.nfli-shop-inline-item{display:block !important;width:100% !important;max-width:none !important;text-align:left !important;background:transparent !important;border:0 !important;box-shadow:none !important;border-radius:0 !important;padding:14px 16px !important;margin:0 !important;font-size:var(--nfli-shopping-input-size,var(--nfli-modal-input-size,15px));line-height:1.4;color:var(--nfli-text,#111) !important;white-space:normal;word-break:break-word;-webkit-appearance:none;appearance:none;clear:both}.nfli-shop-inline-item + .nfli-shop-inline-item{border-top:1px solid #eef2f7}.nfli-shop-inline-item:hover,.nfli-shop-inline-item:active,.nfli-shop-inline-item:focus{background:#f8fafc !important;color:var(--nfli-text,#111) !important;outline:none}
.nfli-shop-row .nfli-shop-qty{text-align:center}
.nfli-shop-del{padding:10px 0;width:44px;min-width:44px;border-radius:12px}

@media(max-width:640px){
  .nfli-shop-row{grid-template-columns:minmax(0,1fr) 48px 96px 40px;gap:6px}
  .nfli-shop-row input,.nfli-shop-row select{padding:9px 8px;font-size:var(--nfli-shopping-input-size,var(--nfli-modal-input-size,15px))}
  .nfli-shop-row .nfli-shop-name{padding-right:40px}
  .nfli-shop-pick-btn{right:4px;width:30px;height:30px;font-size:14px}
  .nfli-shop-inline-suggestions{left:0;right:auto;width:max(100%,320px);max-width:min(96vw,520px);max-height:36vh;border-radius:12px}
  .nfli-shop-inline-item{padding:10px 12px;font-size:15px;line-height:1.3}
  .nfli-shop-del{width:40px;min-width:40px;border-radius:12px}
  .nfli-actions{gap:8px}
  .nfli-actions .nfli-btn{padding:8px 10px;font-size:14px}
}

/* "Listi" (lesanlegur textalisti fyrir innkaup) */
.nfli-listview{display:flex;flex-direction:column;gap:8px}
.nfli-list-line{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--nfli-border);border-radius:12px;background:#fff}
.nfli-list-line .name{font-weight:700;color:#111}
.nfli-list-line .qty{white-space:nowrap;font-weight:700;color:#111}

.nfli-muted{color:var(--nfli-muted)}
.nfli-alert{border:1px solid rgba(15,23,42,.12);border-left:6px solid var(--nfli-accent);border-radius:14px;padding:10px 12px;margin:10px 0;color:var(--nfli-ink);background:#fff}

.nfli-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:10px}
@media(min-width:880px){.nfli-grid{grid-template-columns:1fr 1fr 1fr}}
.nfli-box{border:1px solid var(--nfli-border);border-radius:14px;padding:12px}
.nfli-box h3{margin:0 0 6px;font-size:18px}

.nfli-subhead{margin-top:14px;font-weight:900}

/* Modal */
.nfli-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;z-index:9999;padding:32px 14px 18px;align-items:flex-start;justify-content:center}
.nfli-modal.is-open{display:flex}
.nfli-modal-sheet{background:#fff;border-radius:16px;max-width:760px;width:min(100%, calc(100vw - 28px));max-height:calc(100vh - 72px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 16px 60px rgba(0,0,0,.35)}
.nfli-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--nfli-border)}
.nfli-modal-title-wrap{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}
.nfli-modal-title{font-family:var(--nfli-modal-heading-font,var(--nfli-heading-font,var(--nfli-font)));font-weight:900;font-size:var(--nfli-modal-heading-size,18px);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nfli-modal-user{font-family:var(--nfli-card-meta-font,var(--nfli-font));font-size:12px;color:var(--nfli-header-user,var(--nfli-muted));font-weight:600;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nfli-modal-body{font-family:var(--nfli-modal-font,var(--nfli-font));font-size:var(--nfli-modal-text-size,14px);padding:18px 14px 22px;overflow:auto;-webkit-overflow-scrolling:touch;flex:1}
.nfli-modal-body label,.nfli-modal-body .nfli-h3,.nfli-modal-body .nfli-subhead{font-family:var(--nfli-modal-font,var(--nfli-font));font-size:var(--nfli-modal-label-size,13px)}
.nfli-modal-body input,.nfli-modal-body select,.nfli-modal-body textarea{font-family:var(--nfli-modal-font,var(--nfli-font));font-size:var(--nfli-modal-input-size,15px)}

/* Lyklaborð á síma: tryggja að hægt sé að skruna framhjá botni þegar keyboard er opið. */
@media(max-width:640px){
  .nfli-modal-body{padding-bottom:calc(14px + env(safe-area-inset-bottom) + 380px)}
}

.nfli-asset-results{margin-top:10px;border:1px solid var(--nfli-border);border-radius:14px;overflow:hidden}
.nfli-asset-row{display:flex;gap:10px;align-items:center;padding:10px 12px;border-top:1px solid var(--nfli-border)}
.nfli-asset-row:first-child{border-top:none}
.nfli-asset-row input{width:auto}

.nfli-footer-actions{margin-top:14px}
.nfli-footer-actions .nfli-btn{flex:0 0 auto}


#nfli-task-modal .nfli-modal-sheet{max-width:1100px;width:min(1100px, calc(100vw - 24px));max-height:calc(100vh - 56px)}
#nfli-task-modal .nfli-modal-body{padding-bottom:30px}
#nfli-task-modal #nfli-asset-results{max-height:240px}
#nfli-task-modal{background:transparent}
#nfli-task-modal .nfli-modal-sheet{box-shadow:0 10px 34px rgba(0,0,0,.18)}
#nfli-task-assets-wrap .nfli-row{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(0,1fr) 98px;gap:10px;align-items:center}
#nfli-task-assets-wrap #nfli-asset-create{width:98px;min-width:98px;padding-left:10px;padding-right:10px}
#nfli-task-assets-wrap #nfli-asset-filter,#nfli-task-assets-wrap #nfli-asset-search{min-width:0}
#nfli-task-modal #nfli-task-desc{min-height:160px}
@media(max-width:1080px){
  #nfli-task-modal .nfli-modal-sheet{width:min(100%, calc(100vw - 28px));max-width:960px}
}

/* Mobile: make panels comfortable */
@media(max-width:520px){
  .nfli-wrap{padding:var(--nfli-mobile-v-pad) var(--nfli-mobile-h-pad)}
  .nfli-topbar{padding:12px var(--nfli-mobile-h-pad) 0}
  .nfli-tabs{padding:10px var(--nfli-mobile-h-pad) 6px}
  .nfli-body{padding:10px var(--nfli-mobile-h-pad) calc(18px + var(--nfli-mobile-v-pad))}
  .nfli-brand{min-width:0}
  .nfli-user{width:100%;align-items:flex-start}
  .nfli-user-meta{text-align:left;max-width:none}
  .nfli-user-actions{width:100%;justify-content:flex-start}
  .nfli-panel-head{flex-direction:column;align-items:stretch}
  .nfli-panel-head h2{font-size:var(--nfli-h1-mobile)}
  .nfli-actions{width:100%;justify-content:flex-start}
  .nfli-actions .nfli-btn{flex:1}
  .nfli-row{flex-direction:column;align-items:stretch}
  .nfli-row > *{flex:auto}
  .nfli-modal{padding:0;align-items:stretch}
  .nfli-modal-sheet{width:100%;height:100vh;max-height:100vh;border-radius:0}
  #nfli-task-assets-wrap .nfli-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 104px;gap:8px}
  #nfli-task-assets-wrap #nfli-asset-create{width:104px;min-width:104px;font-size:14px}
}

/* iOS / modern browsers: use dynamic viewport units so modals behave when the keyboard opens */
@supports(height: 100dvh){
  .nfli-modal-sheet{max-height:calc(100dvh - 28px)}
  @media(max-width:520px){
    .nfli-modal-sheet{height:100dvh;max-height:100dvh}
  }
}

/*
  Modal stacking:
  When a confirm/edit dialog is opened from inside another modal (e.g. delete from "Breyta verkefni"),
  it must appear above the task modal. We raise the edit-modal above the task-modal.
*/
#nfli-task-modal{z-index:15000}
/* Eyða/staðfesting innan úr verkefnaglugga (Safari/iOS): tryggja að edit-modal sé alltaf ofan á. */
#nfli-edit-modal{z-index:50000 !important}
#nfli-edit-modal .nfli-modal-sheet{position:relative; z-index:50001}
#nfli-lightbox{z-index:60050;background:rgba(0,0,0,.72);padding:14px;align-items:center}
#nfli-lightbox .nfli-modal-sheet{position:relative;z-index:60051;background:transparent;box-shadow:none;overflow:visible;max-width:min(1200px, calc(100vw - 28px));width:min(1200px, calc(100vw - 28px));max-height:calc(100vh - 28px)}
#nfli-lightbox .nfli-modal-head{background:transparent;border-bottom:0;padding:0 0 10px 0}
#nfli-lightbox .nfli-modal-title{color:#fff}
#nfli-lightbox .nfli-modal-user{color:rgba(255,255,255,.78)}
#nfli-lightbox .nfli-modal-body{background:transparent;padding:0;overflow:auto}
#nfli-lightbox-img{display:block;max-width:100%;max-height:calc(100vh - 110px);width:auto;height:auto;margin:0 auto;border-radius:12px;border:0;background:transparent;box-shadow:none}

/* Photos */
.nfli-photo-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px}
.nfli-photo-item{position:relative;border:1px solid var(--nfli-border);border-radius:12px;overflow:hidden;background:#fff}
.nfli-photo-item img{width:100%;height:90px;object-fit:cover;display:block}
.nfli-photo-item button{position:absolute;top:6px;right:6px;border:0;background:rgba(0,0,0,.6);color:#fff;width:26px;height:26px;border-radius:999px;cursor:pointer;line-height:26px;padding:0}
.nfli-photo-item a{display:block}

/* Thumbnails & profile grids */
.nfli-thumb{width:48px;height:48px;object-fit:cover;border-radius:10px;border:1px solid rgba(0,0,0,.08);background:#fff;display:block}
.nfli-thumb--empty{width:48px;height:48px;border-radius:10px;border:1px dashed rgba(0,0,0,.15);background:rgba(0,0,0,.02)}

/* Inventory picker: use custom button on small screens (native select can't show images) */
.nfli-inv-pick-wrap{width:100%;position:relative}
.nfli-inv-pick-wrap > .nfli-inv-pick-btn{width:100%;justify-content:space-between;gap:10px;position:static;transform:none}
.nfli-inv-field-wrap > .nfli-inv-pick-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%)}
.nfli-inv-pick-btn .nfli-thumb{width:34px;height:34px;border-radius:8px}
.nfli-inv-native{display:none!important}
.nfli-inv-pick-btn{display:flex!important}

.nfli-picker-search{width:100%;margin-bottom:10px}
.nfli-picker-list .nfli-item{cursor:pointer}
.nfli-left-with-thumb{display:flex;gap:10px;align-items:center;min-width:0}
.nfli-linklike{background:none;border:0;padding:0;margin:0;color:inherit;font:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:2px}


.nfli-inventory-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;align-items:stretch}
.nfli-inv-filter-search{grid-column:1 / -1}
.nfli-inv-filter-control{min-width:0;width:100%;height:52px;border-radius:18px}
@media(min-width:720px){
  .nfli-inventory-filters{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(min-width:1100px){
  .nfli-inventory-filters{grid-template-columns:2fr repeat(4,minmax(0,1fr))}
  .nfli-inv-filter-search{grid-column:auto}
}
.nfli-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}
.nfli-photo{position:relative}
.nfli-photo-btn{width:100%;border:0;padding:0;background:none;cursor:pointer}
.nfli-photo-btn img{width:100%;height:110px;object-fit:cover;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:#fff}
.nfli-photo-del{position:absolute;left:8px;bottom:8px;padding:6px 10px;border-radius:10px;border:1px solid rgba(0,0,0,.1);background:#fff;color:#b40028;font-size:12px}

/* Inventory list: photo buttons must behave like thumbnails (not full-width grid photos).
   The inventory UI reuses .nfli-photo-btn for tap-to-view, so we override it inside list rows.
   Fixes: huge images + broken row height in Lager list. */
.nfli-item[data-inv-id] .nfli-photo-btn{
  width:auto;
  display:inline-block;
}
.nfli-item[data-inv-id] .nfli-photo-btn img{
  width:56px;
  height:56px;
  border-radius:12px;
}
.nfli-item[data-inv-id] .nfli-inv-thumb-btn{
  width:56px;
  min-width:56px;
  height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.nfli-item[data-inv-id] .nfli-inv-thumb{
  width:56px;
  height:56px;
  min-width:56px;
  border-radius:12px;
  overflow:hidden;
}
.nfli-item[data-inv-id] .nfli-left-with-thumb{
  align-items:flex-start;
}
/* Allow long inventory names to wrap (tasks can stay single-line with ellipsis). */
.nfli-item[data-inv-id] .title{
  white-space:normal;
}
.nfli-item[data-inv-id] .meta{
  white-space:normal;
}


.nfli-hidden-by-perm{display:none !important;}

#nfli-app, .nfli-shell, .nfli-topbar, .nfli-tabs, .nfli-body{max-width:100%;}
.nfli-shell{overflow-x:hidden;}
@media(max-width:640px){.nfli-wrap{padding-left:var(--nfli-mobile-h-pad);padding-right:var(--nfli-mobile-h-pad);padding-top:var(--nfli-mobile-v-pad);padding-bottom:var(--nfli-mobile-v-pad);}}


/* v0.12.13.80: use full mobile viewport width more aggressively */
body.nfli-app-page .site,
body.nfli-app-page #page,
body.nfli-app-page main,
body.nfli-app-page .content-area,
body.nfli-app-page .site-main,
body.nfli-app-page article,
body.nfli-app-page .entry-content,
body.nfli-app-page .entry,
body.nfli-app-page .post,
body.nfli-app-page .ast-container,
body.nfli-app-page .ast-plain-container,
body.nfli-app-page .ast-separate-container,
body.nfli-app-page .inside-article,
body.nfli-app-page .elementor,
body.nfli-app-page .elementor-section-wrap,
body.nfli-app-page .elementor-widget-wrap,
body.nfli-app-page .elementor-widget-container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

#nfli-app.nfli-wrap{max-width:none !important;width:100% !important;}

@media (max-width: 640px){
  html,body{width:100%;max-width:100%;overflow-x:hidden;}
  #nfli-app.nfli-wrap{padding-left:calc(var(--nfli-mobile-h-pad) + env(safe-area-inset-left)) !important;
    padding-right:calc(var(--nfli-mobile-h-pad) + env(safe-area-inset-right)) !important;
    padding-top:var(--nfli-mobile-v-pad) !important;
    padding-bottom:calc(var(--nfli-mobile-v-pad) + env(safe-area-inset-bottom)) !important;}
  #nfli-app .nfli-shell{border-radius:12px !important;margin:0 !important;}
  #nfli-app .nfli-topbar{padding:calc(max(6px, var(--nfli-mobile-v-pad))) calc(max(6px, var(--nfli-mobile-h-pad))) 0 !important;}
  #nfli-app .nfli-tabs{padding:calc(max(6px, var(--nfli-mobile-v-pad))) calc(max(6px, var(--nfli-mobile-h-pad))) 4px !important;gap:6px !important;}
  #nfli-app .nfli-body{padding:calc(max(6px, var(--nfli-mobile-v-pad))) calc(max(6px, var(--nfli-mobile-h-pad))) !important;}
  #nfli-app .nfli-headercard{padding:8px !important;}
  #nfli-app .nfli-panel-head{gap:8px !important;}
  #nfli-app .nfli-list{border-radius:14px !important;}
}

/* v0.12.13.81: use nearly full screen width on mobile */
@media (max-width: 640px){
  body.nfli-app-page .site,
  body.nfli-app-page #page,
  body.nfli-app-page .site-content,
  body.nfli-app-page .content-area,
  body.nfli-app-page .site-main,
  body.nfli-app-page .entry-content,
  body.nfli-app-page .inside-article,
  body.nfli-app-page .ast-container,
  body.nfli-app-page .ast-container > *,
  body.nfli-app-page .wp-block-group,
  body.nfli-app-page .elementor,
  body.nfli-app-page .elementor-section,
  body.nfli-app-page .elementor-container,
  body.nfli-app-page .elementor-column,
  body.nfli-app-page .elementor-widget-wrap,
  body.nfli-app-page .elementor-widget-container{
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    max-width:none !important;
    width:100% !important;
  }
}


/* v0.12.13.92: harden mobile full-width layout and prevent Safari side gutter/zoom feel */
html, body{max-width:100%;overflow-x:hidden;}
body.nfli-app-page{overflow-x:hidden;}
#nfli-app, #nfli-app *{box-sizing:border-box;}
#nfli-app .nfli-tabs{overflow:visible;}
#nfli-app .nfli-tab{max-width:100%;}

@media (max-width: 640px){
  #nfli-app.nfli-wrap{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding-left:calc(var(--nfli-mobile-h-pad) + env(safe-area-inset-left)) !important;
    padding-right:calc(var(--nfli-mobile-h-pad) + env(safe-area-inset-right)) !important;
    padding-top:var(--nfli-mobile-v-pad) !important;
    padding-bottom:calc(var(--nfli-mobile-v-pad) + env(safe-area-inset-bottom)) !important;
  }
  #nfli-app .nfli-shell,
  #nfli-app .nfli-topbar,
  #nfli-app .nfli-tabs,
  #nfli-app .nfli-body,
  #nfli-app .nfli-panel,
  #nfli-app .nfli-list,
  #nfli-app .nfli-item,
  #nfli-app .nfli-card,
  #nfli-app .nfli-headercard,
  #nfli-app select,
  #nfli-app input,
  #nfli-app textarea,
  #nfli-app button{
    max-width:100% !important;
  }
  #nfli-app .nfli-shell{margin:0 !important;border-radius:12px !important;}
  #nfli-app .nfli-topbar{padding:calc(max(6px, var(--nfli-mobile-v-pad))) calc(max(6px, var(--nfli-mobile-h-pad))) 0 !important;}
  #nfli-app .nfli-tabs{padding:calc(max(6px, var(--nfli-mobile-v-pad))) calc(max(6px, var(--nfli-mobile-h-pad))) 4px !important;gap:6px !important;}
  #nfli-app .nfli-body{padding:calc(max(6px, var(--nfli-mobile-v-pad))) calc(max(6px, var(--nfli-mobile-h-pad))) !important;}
  #nfli-app .nfli-item{grid-template-columns:minmax(0,1fr) auto !important;}
  #nfli-app .nfli-item .right{flex-shrink:0;}
  #nfli-app .nfli-panel-head,
  #nfli-app .nfli-actions,
  #nfli-app .nfli-row,
  #nfli-app .nfli-inline{min-width:0;max-width:100%;}
}


/* v0.12.13.93: safer iPhone layout after delete/modal actions */
html, body{max-width:100%;overflow-x:hidden;}
body.nfli-app-page{overflow-x:hidden;overscroll-behavior-x:none;}
#nfli-app, #nfli-app *{box-sizing:border-box;}
#nfli-app .nfli-tabs{overflow:visible;}
#nfli-app .nfli-tab{max-width:100%;}

@media (max-width: 640px){
  #nfli-app.nfli-wrap{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    padding-left:calc(var(--nfli-mobile-h-pad) + env(safe-area-inset-left)) !important;
    padding-right:calc(var(--nfli-mobile-h-pad) + env(safe-area-inset-right)) !important;
    padding-top:var(--nfli-mobile-v-pad) !important;
    padding-bottom:calc(var(--nfli-mobile-v-pad) + env(safe-area-inset-bottom)) !important;
  }
  #nfli-app .nfli-shell,
  #nfli-app .nfli-topbar,
  #nfli-app .nfli-tabs,
  #nfli-app .nfli-body,
  #nfli-app .nfli-panel,
  #nfli-app .nfli-list,
  #nfli-app .nfli-item,
  #nfli-app .nfli-card,
  #nfli-app .nfli-headercard,
  #nfli-app select,
  #nfli-app input,
  #nfli-app textarea,
  #nfli-app button{
    max-width:100% !important;
  }
  #nfli-app .nfli-shell{margin:0 !important;border-radius:12px !important;}
  #nfli-app .nfli-tabs{gap:8px !important;}
  #nfli-app .nfli-item{grid-template-columns:minmax(0,1fr) auto !important;}
}


/* iPhone/Safari: keep layout stable while typing */
@media (max-width: 820px){
  #nfli-app input,
  #nfli-app select,
  #nfli-app textarea{scroll-margin-top:18vh;}
  #nfli-app .nfli-modal-body input,
  #nfli-app .nfli-modal-body select,
  #nfli-app .nfli-modal-body textarea{font-size:max(16px, var(--nfli-modal-input-size,15px));}
}



.nfli-task-load-more{
  display:block;
  width:100%;
  padding:14px 16px;
  margin-top:12px;
  border-radius:18px;
  border:2px solid var(--nfli-border, #d7d7d7);
  background:#fff;
  color:#000;
  font-size:16px;
  font-weight:700;
  text-align:center;
}
.nfli-task-load-more:disabled{
  opacity:.65;
}


.nfli-row-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.nfli-inline-status{width:auto;min-width:128px;max-width:170px;padding:10px 12px;border-radius:14px;font-size:14px;background:#fff;}
.nfli-task-load-more{display:flex;align-items:center;justify-content:center;width:auto;min-width:220px;max-width:100%;margin:14px auto 0 auto;padding:9px 16px;border-width:1px;color:var(--nfli-button-ghost-text,var(--nfli-ink));background:#fff;}
.nfli-task-load-more:disabled{opacity:.65;}
@media (max-width: 640px){
  .nfli-row-actions{align-items:stretch;}
  .nfli-inline-status{min-width:0;width:100%;max-width:none;}
}


/* v0.12.14.09 desktop larger main buttons */
.nfli-row-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;}
.nfli-row-actions .nfli-btn-ghost{min-width:110px;}
.nfli-inline-status-compact{width:auto;min-width:96px;max-width:132px;padding:7px 28px 7px 12px;border-radius:14px;font-size:13px;line-height:1.2;background:#fff;}
.nfli-load-more-wrap{display:flex;justify-content:center;align-items:center;width:100%;margin:14px 0 0;}
.nfli-task-load-more{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:110px;max-width:100%;margin:0;padding:9px 12px;border-width:1px;color:var(--nfli-button-ghost-text,var(--nfli-ink)) !important;background:#fff;}
@media (max-width:640px){
  .nfli-row-actions{align-items:center;}
  .nfli-row-actions .nfli-btn-ghost{min-width:100px;}
  .nfli-inline-status-compact{min-width:88px;max-width:120px;font-size:12px;padding:6px 24px 6px 10px;}
}


/* Stórir miðjaðir "Nýtt" / "Nýr listi" takkar */
.nfli-btn-main{
  min-width: 250px;
  min-height: 54px;
  font-size: calc(var(--nfli-btn-size) + 3px);
  padding: 14px 24px;
}
#nfli-task-new,#nfli-recurring-new,#nfli-diet-new,#nfli-shop-new{
  display:block;
  margin:0 auto;
}
.nfli-panel[data-panel="tasks"] .nfli-actions,
.nfli-panel[data-panel="recurring"] .nfli-actions,
.nfli-panel[data-panel="diet"] .nfli-actions,
.nfli-panel[data-panel="shopping"] .nfli-actions{
  width:100%;
  flex-wrap:wrap;
  align-items:center;
}
.nfli-panel[data-panel="tasks"] .nfli-actions select,
.nfli-panel[data-panel="recurring"] .nfli-actions select,
.nfli-panel[data-panel="diet"] .nfli-actions select{
  flex:1 1 100%;
}
.nfli-panel[data-panel="tasks"] .nfli-actions .nfli-btn-main,
.nfli-panel[data-panel="recurring"] .nfli-actions .nfli-btn-main,
.nfli-panel[data-panel="diet"] .nfli-actions .nfli-btn-main,
.nfli-panel[data-panel="shopping"] .nfli-actions .nfli-btn-main{
  flex:0 0 auto;
}

/* Hleð fleiri takki eins og Opna, miðjaður og svartur texti */
.nfli-load-more-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:12px 0 4px;
}
.nfli-load-more-btn{
  min-width:110px;
  color:#111827 !important;
  border-color:#111827 !important;
  background:#fff !important;
  font-weight:600;
}

@media(max-width:640px){
  .nfli-btn-main{
    width:min(100%, 320px);
    min-width:0;
  }
}


/* Chat / Messenger */
.nfli-chat-layout{display:grid;grid-template-columns:320px 1fr;gap:16px;min-height:520px}
.nfli-chat-sidebar,.nfli-chat-main{background:#fff;border:1px solid #d7dde5;border-radius:14px;padding:12px}
.nfli-chat-conversations{display:flex;flex-direction:column;gap:10px}
.nfli-chat-conv{width:100%;text-align:left;border:1px solid #d7dde5;background:#fff;border-radius:12px;padding:12px;cursor:pointer}
.nfli-chat-conv.is-active{border-color:#1f6fb2;box-shadow:0 0 0 2px rgba(31,111,178,.08)}
.nfli-chat-conv-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:6px}
.nfli-chat-conv-title{font-weight:700}
.nfli-chat-conv-preview{font-size:14px;line-height:1.35;color:#27323f}
.nfli-chat-conv-time{font-size:12px;color:#66768a;margin-top:6px}
.nfli-chat-unread{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#d63638;color:#fff;font-size:12px;font-weight:700}
.nfli-chat-main{display:flex;flex-direction:column;gap:12px}
.nfli-chat-thread-empty{display:flex;align-items:center;justify-content:center;min-height:380px;border:1px dashed #c7d0db;border-radius:12px;color:#66768a;padding:20px;background:#fbfcfe}
.nfli-chat-thread{display:flex;flex-direction:column;gap:12px;min-height:0}
.nfli-chat-thread-head{border-bottom:1px solid #e3e8ee;padding-bottom:10px}
.nfli-chat-thread-title{font-size:18px;font-weight:700}
.nfli-chat-messages{display:flex;flex-direction:column;gap:12px;max-height:420px;overflow:auto;padding-right:4px}
.nfli-chat-msg{max-width:82%;background:#f4f7fb;border:1px solid #dce4ed;border-radius:14px;padding:10px 12px}
.nfli-chat-msg.is-me{margin-left:auto;background:#eaf5ff;border-color:#bfdcff}
.nfli-chat-msg-meta{font-size:12px;color:#66768a;margin-bottom:6px}
.nfli-chat-msg-body{white-space:normal;word-break:break-word;color:#16202b}
.nfli-chat-compose{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.nfli-chat-compose textarea{width:100%;min-height:120px;resize:vertical;font-size:16px;line-height:1.45;padding:14px 16px}
@media (max-width: 900px){
  .nfli-chat-layout{grid-template-columns:1fr}
  .nfli-chat-messages{max-height:320px}
  .nfli-chat-msg{max-width:100%}
}

.nfli-chat-img-link{display:block;margin-bottom:8px}
.nfli-chat-img{display:block;max-width:240px;width:100%;height:auto;border-radius:12px;border:1px solid #d7dde5}
.nfli-chat-compose .nfli-btn-main{width:100%}
.nfli-chat-file-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nfli-chat-file-row .nfli-btn{min-width:140px}
.nfli-chat-file-name{font-size:12px;color:#66768a;word-break:break-all}
@media (max-width: 720px){
  .nfli-chat-compose{flex-direction:column;align-items:stretch}
  .nfli-chat-compose-actions{min-width:0;width:100%}
}

.nfli-multi-check{display:grid;gap:8px;padding:10px 12px;border:1px solid var(--nfli-border,#d8dbe6);border-radius:12px;background:#fff;max-height:220px;overflow:auto}.nfli-check-block{display:flex;align-items:center;gap:8px;font-size:14px}


.nfli-task-row .title{display:flex;align-items:center;gap:10px}
.nfli-task-row .title .nfli-title-text{min-width:0;flex:0 1 auto}
.nfli-days-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;border:1px solid #111;background:#fff;color:#111;font-size:12px;font-weight:700;line-height:1;box-sizing:border-box;flex:0 0 auto;margin-left:auto}
.nfli-urgency-dot{display:inline-block;width:12px;height:12px;min-width:12px;border-radius:999px;border:1px solid rgba(0,0,0,.18);vertical-align:middle}
.nfli-urgency-dot[data-urgency="lítið"]{background:#22c55e}
.nfli-urgency-dot[data-urgency="miðlungs"]{background:#f59e0b}
.nfli-urgency-dot[data-urgency="mikið"]{background:#ef4444}
.nfli-meta-description{font-size:13px;color:#555;line-height:1.35;margin-top:2px;white-space:normal}

.nfli-modal-actions-top{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}

#nfli-app .nfli-btn,#nfli-app .nfli-btn-primary,#nfli-app .nfli-btn-danger,#nfli-app .nfli-btn-ghost,#nfli-app .nfli-iconbtn,#nfli-app .nfli-link{background:var(--nfli-button-bg,#fff)!important;color:var(--nfli-button-text,#111)!important;border-color:var(--nfli-button-ghost-border,var(--nfli-border))!important;}
#nfli-app .nfli-btn-danger{color:var(--nfli-button-danger-text,#111)!important;border-color:var(--nfli-button-danger-text,#111)!important;}
#nfli-app .nfli-iconbtn svg,#nfli-app .nfli-link svg{color:inherit!important;stroke:currentColor!important;}

#nfli-app .nfli-btn-danger,
#nfli-app .nfli-btn-ghost,
#nfli-app #nfli-task-close,
#nfli-app #nfli-edit-close,
#nfli-app #nfli-task-save-top,
#nfli-app #nfli-edit-save-top{
  background: var(--nfli-button-bg,#fff) !important;
  color: var(--nfli-button-text,#111) !important;
  border-color: var(--nfli-button-ghost-border,var(--nfli-border)) !important;
  box-shadow:none !important;
}
#nfli-app .nfli-btn-danger:hover,
#nfli-app .nfli-btn-ghost:hover,
#nfli-app #nfli-task-close:hover,
#nfli-app #nfli-edit-close:hover,
#nfli-app #nfli-task-save-top:hover,
#nfli-app #nfli-edit-save-top:hover,
#nfli-app .nfli-btn-danger:active,
#nfli-app .nfli-btn-ghost:active,
#nfli-app #nfli-task-close:active,
#nfli-app #nfli-edit-close:active,
#nfli-app #nfli-task-save-top:active,
#nfli-app #nfli-edit-save-top:active{
  background: var(--nfli-button-bg,#fff) !important;
  color: var(--nfli-button-text,#111) !important;
  border-color: var(--nfli-button-ghost-border,var(--nfli-border)) !important;
}


#nfli-app #nfli-task-close,
#nfli-app #nfli-edit-close,
#nfli-app #nfli-task-save-top,
#nfli-app #nfli-edit-save-top{
  background:#fff !important;
  color:#111 !important;
  border:1px solid #d14b79 !important;
}
#nfli-app #nfli-task-close *,
#nfli-app #nfli-edit-close *,
#nfli-app #nfli-task-save-top *,
#nfli-app #nfli-edit-save-top *{ color:#111 !important; }


.nfli-task-title-combo{position:relative;display:block;width:100%;max-width:100%;}
.nfli-task-title-combo input{display:block;width:100%;padding:12px 44px 12px 12px;min-height:48px;font-size:var(--nfli-modal-input-size,15px) !important;line-height:1.25;}
.nfli-task-title-combo input::placeholder{font-size:var(--nfli-modal-input-size,15px) !important;}
#nfli-lbl-task-title{position:relative;display:block;width:100%;}
#nfli-lbl-task-title .nfli-task-title-combo{max-width:100%;}
#nfli-lbl-task-title .nfli-title-picker-toggle{
  position:absolute;
  top:50%;
  right:16px;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  min-width:22px;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#3d7a45 !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:0 !important;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  line-height:1;
}
#nfli-lbl-task-title .nfli-title-picker-toggle:hover,
#nfli-lbl-task-title .nfli-title-picker-toggle:focus,
#nfli-lbl-task-title .nfli-title-picker-toggle:active{
  background:transparent !important;
  color:#2f6f3a !important;
  outline:none;
}
#nfli-lbl-task-title .nfli-task-title-picker{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 6px);
  z-index:9999;
  background:#fff !important;
  border:1px solid #d1d5db !important;
  border-radius:14px;
  box-shadow:0 12px 28px rgba(15,23,42,.12);
  overflow:hidden;
}
#nfli-lbl-task-title .nfli-task-title-picker-list{
  display:block !important;
  max-height:260px;
  overflow:auto;
  padding:8px 0;
  -webkit-overflow-scrolling:touch;
}
#nfli-lbl-task-title .nfli-task-title-option{
  display:block !important;
  width:100% !important;
  text-align:left !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:12px 16px !important;
  margin:0 !important;
  font-size:15px !important;
  line-height:1.35 !important;
  color:#3d7a45 !important;
  white-space:normal !important;
  word-break:break-word !important;
}
#nfli-lbl-task-title .nfli-task-title-option + .nfli-task-title-option{border-top:1px solid #eef2f7 !important}
#nfli-lbl-task-title .nfli-task-title-option:hover,
#nfli-lbl-task-title .nfli-task-title-option:focus,
#nfli-lbl-task-title .nfli-task-title-option:active,
#nfli-lbl-task-title .nfli-task-title-option.is-active{background:#f8fafc !important;color:#2f6f3a !important;outline:none}
#nfli-lbl-task-title .nfli-task-title-picker-empty{padding:16px;color:#6b7280;font-size:15px}
@media (max-width:640px){
  .nfli-task-title-combo input{min-height:58px;font-size:15px;}
  .nfli-task-title-combo input::placeholder{font-size:var(--nfli-modal-input-size,15px) !important;}
  #nfli-lbl-task-title .nfli-task-title-picker-list{max-height:240px;}
}


#nfli-app .nfli-linklike{color:#111 !important;}
#nfli-app [data-panel="assets"] .nfli-linklike{color:#111 !important;text-decoration:none;font-weight:700;}
#nfli-app [data-panel="assets"] .nfli-linklike:hover{text-decoration:underline;}
#nfli-app .nfli-box-wide{grid-column:1 / -1;}

#nfli-app .nfli-log-item{width:100%;text-align:left;background:#fff;}
#nfli-app .nfli-log-item .left{width:100%;}

.nfli-search-input{resize:none;overflow:hidden;min-height:56px;line-height:1.3;white-space:nowrap;}
textarea.nfli-search-input{padding-top:16px;padding-bottom:16px;}
#nfli-asset-search{min-height:auto !important;height:48px !important;padding-top:12px !important;padding-bottom:12px !important;resize:none !important;}


/* Nýtt verkefni: lýsing og einingasía */
#nfli-lbl-task-desc,
#nfli-lbl-task-desc textarea,
#nfli-task-desc{
  width:100% !important;
  max-width:100% !important;
  display:block;
}
#nfli-task-desc{
  min-height:140px;
}
#nfli-task-assets-wrap .nfli-row{
  align-items:stretch;
}
#nfli-asset-filter,
#nfli-asset-search{
  flex:0 0 260px;
  width:260px;
  max-width:260px;
}
#nfli-asset-create{
  flex:0 0 180px;
  width:180px;
  max-width:180px;
}
#nfli-asset-results{
  max-height:176px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
@media(max-width:640px){
  #nfli-asset-filter,
  #nfli-asset-search,
  #nfli-asset-create{
    flex:1 1 auto;
    width:100%;
    max-width:none;
  }
  #nfli-task-desc{
    min-height:120px;
  }
  #nfli-asset-results{
    max-height:190px;
  }
}

.nfli-pill-discharge{background:#ecfdf5;border-color:#10b981;color:#047857;font-weight:700;}

#nfli-app #nfli-asset-search{height:44px !important; min-height:44px !important; line-height:1.2 !important; align-self:center;}

.nfli-item[data-task-id], .nfli-item[data-shop-id]{cursor:pointer;}
.nfli-row-actions .nfli-days-badge{margin-left:0;}

#nfli-task-modal .nfli-modal-body > *:first-child{margin-top:8px}
#nfli-task-modal .nfli-modal-body > *:last-child{margin-bottom:18px}
#nfli-edit-modal .nfli-modal-body > *:first-child{margin-top:8px}
#nfli-edit-modal .nfli-modal-body > *:last-child{margin-bottom:18px}



/* v0.12.20.86: tighter asset controls and true edge-to-edge on mobile when horizontal spacing is 0 */
@media (max-width: 640px){
  #nfli-task-assets-wrap .nfli-row{grid-template-columns:minmax(112px,.82fr) minmax(0,1fr) 84px !important;gap:8px !important;}
  #nfli-task-assets-wrap #nfli-asset-create{width:84px !important;min-width:84px !important;padding-left:8px !important;padding-right:8px !important;}
  #nfli-task-assets-wrap #nfli-asset-filter{min-width:112px !important;}
}
@media (max-width: 640px){
  #nfli-app.nfli-mobile-edge{padding-left:0 !important;padding-right:0 !important;padding-top:var(--nfli-mobile-v-pad) !important;padding-bottom:calc(var(--nfli-mobile-v-pad) + env(safe-area-inset-bottom)) !important;max-width:none !important;width:100% !important;}
  #nfli-app.nfli-mobile-edge.nfli-shell{border:none !important;border-radius:0 !important;box-shadow:none !important;background:var(--nfli-card) !important;}
  #nfli-app.nfli-mobile-edge .nfli-topbar,
  #nfli-app.nfli-mobile-edge .nfli-tabs,
  #nfli-app.nfli-mobile-edge .nfli-body{padding-left:0 !important;padding-right:0 !important;}
}

/* v0.12.20.84: make mobile spacing from Útlit control the real app spacing everywhere */
@media (max-width: 640px){
  #nfli-app.nfli-wrap{
    padding-left:calc(var(--nfli-mobile-h-pad) + env(safe-area-inset-left)) !important;
    padding-right:calc(var(--nfli-mobile-h-pad) + env(safe-area-inset-right)) !important;
    padding-top:var(--nfli-mobile-v-pad) !important;
    padding-bottom:calc(var(--nfli-mobile-v-pad) + env(safe-area-inset-bottom)) !important;
  }
  #nfli-app .nfli-topbar,
  #nfli-app .nfli-tabs,
  #nfli-app .nfli-body{
    padding-left:max(6px, calc(var(--nfli-mobile-h-pad) * 0.6)) !important;
    padding-right:max(6px, calc(var(--nfli-mobile-h-pad) * 0.6)) !important;
  }
}


/* v0.12.20.88: outer spacing controlled by Útlit; inner mobile spacing stays full-width and discharge pill is preserved */
@media (max-width: 640px){
  #nfli-app.nfli-wrap{
    padding-left:calc(var(--nfli-mobile-h-pad) + env(safe-area-inset-left)) !important;
    padding-right:calc(var(--nfli-mobile-h-pad) + env(safe-area-inset-right)) !important;
    padding-top:var(--nfli-mobile-v-pad) !important;
    padding-bottom:calc(var(--nfli-mobile-v-pad) + env(safe-area-inset-bottom)) !important;
  }
  #nfli-app .nfli-topbar{padding:10px 12px 0 !important;}
  #nfli-app .nfli-tabs{padding:10px 12px 6px !important;gap:8px !important;}
  #nfli-app .nfli-body{padding:10px 12px 18px !important;}
  #nfli-app.nfli-mobile-edge{padding-left:0 !important;padding-right:0 !important;max-width:none !important;width:100% !important;}
  #nfli-app.nfli-mobile-edge.nfli-shell{border:none !important;border-radius:0 !important;box-shadow:none !important;}
  #nfli-app.nfli-mobile-edge .nfli-topbar,
  #nfli-app.nfli-mobile-edge .nfli-tabs,
  #nfli-app.nfli-mobile-edge .nfli-body{padding-left:12px !important;padding-right:12px !important;}
}


.nfli-inv-field-wrap{position:relative;min-width:0}
.nfli-inv-field-wrap input{padding-right:44px}
.nfli-inv-inline-suggestions{display:none;position:absolute;left:0;right:auto;top:calc(100% + 6px);z-index:9999;width:max(100%,320px);max-width:min(96vw,520px);background:#fff;border:1px solid #d1d5db;border-radius:14px;box-shadow:0 12px 28px rgba(15,23,42,.12);max-height:260px;overflow:auto;-webkit-overflow-scrolling:touch;padding:8px 0}
.nfli-inv-field-wrap.is-open .nfli-inv-inline-suggestions{display:block}
.nfli-inv-inline-item{display:block;width:100%;text-align:left;background:transparent;border:0;box-shadow:none;border-radius:0;padding:14px 16px;margin:0;font-size:var(--nfli-shopping-input-size,var(--nfli-modal-input-size,15px));line-height:1.4;color:var(--nfli-text,#111);white-space:normal;word-break:break-word}
.nfli-inv-inline-item + .nfli-inv-inline-item{border-top:1px solid #eef2f7}
.nfli-inv-inline-item:hover,.nfli-inv-inline-item:focus{background:#f8fafc;outline:none}
.nfli-inline-check{display:flex;align-items:center;gap:8px;margin:8px 0 10px}
.nfli-inline-check input{width:auto;height:auto;flex:0 0 auto}
@media (max-width: 768px){.nfli-inv-inline-suggestions{width:min(92vw,420px);max-height:36vh;border-radius:12px}}


/* Loading / saving overlay */
body.nfli-busy{cursor:progress}
.nfli-loading-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.18);backdrop-filter:blur(2px)}
.nfli-loading-overlay[hidden]{display:none !important}
.nfli-loading-box{min-width:220px;max-width:min(92vw,320px);padding:18px 20px;border-radius:18px;background:#fff;border:1px solid var(--nfli-border);box-shadow:0 16px 40px rgba(15,23,42,.18);display:flex;align-items:center;gap:14px}
.nfli-loading-spinner{width:22px;height:22px;border-radius:50%;border:3px solid #d1d5db;border-top-color:var(--nfli-accent);animation:nfli-spin .8s linear infinite;flex:0 0 auto}
.nfli-loading-text{font-family:var(--nfli-button-font,var(--nfli-font));font-size:15px;font-weight:700;color:var(--nfli-ink)}
@keyframes nfli-spin{to{transform:rotate(360deg)}}
