/* Fixo – aplicație (mobile-first) */
@font-face{font-family:'Inter Variable';font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/inter-latin-ext-wght-normal.woff2) format('woff2-variations');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter Variable';font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/inter-latin-wght-normal.woff2) format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --bg:#0f172a; --bg-2:#020617; --card:#1e293b; --line:#334155; --line-2:#475569;
  --text:#e2e8f0; --muted:#94a3b8; --white:#fff;
  --brand:#14707f; --brand-2:#2a93a3; --brand-soft:#6fb6c1;
  --accent:#e8b93f; --accent-2:#f2cd6b;
  --danger:#f87171; --ok:#25d366;
  --r:14px; --nav-h:64px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.fx-body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 'Inter Variable',Inter,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--brand-soft)}
:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px;border-radius:8px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* Brand */
.fx-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:var(--white);min-width:0}
.fx-brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fx-logo{width:32px;height:32px;flex:none}

/* Autentificare */
.fx-auth{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px calc(24px + env(safe-area-inset-bottom))}
.fx-auth-card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:28px 22px}
.fx-auth h1{font-size:24px;line-height:1.2;color:var(--white);margin:22px 0 18px}
.fx-auth p{color:var(--muted)}
.fx-auth form p{margin:0 0 16px}
.fx-auth label{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px}
.fx-auth .login-remember label{display:flex;align-items:center;gap:8px;font-weight:500}
.fx-auth input[type=text],.fx-auth input[type=password]{width:100%}
.fx-auth input[type=submit]{width:100%}
.fx-auth-links{margin:8px 0 0;font-size:14px}
.fx-auth-foot{margin-top:20px;font-size:13px}
.fx-auth-foot a{color:var(--muted)}

/* Formulare */
input[type=text],input[type=password],input[type=tel],input[type=search],input[type=email],textarea{
  width:100%;font:inherit;font-size:16px;color:var(--white);background:var(--bg);border:1px solid var(--line-2);border-radius:12px;padding:12px 14px;
}
textarea{min-height:110px;resize:vertical}
input::placeholder,textarea::placeholder{color:#64748b}
input:focus,textarea:focus{border-color:var(--brand-2);outline:none;box-shadow:0 0 0 3px rgba(42,147,163,.35)}
input[type=submit],.fx-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:12px;border:0;cursor:pointer;
  font:inherit;font-weight:700;text-decoration:none;background:var(--accent);color:#0f172a;
}
input[type=submit]:hover,.fx-btn:hover{background:var(--accent-2)}
.fx-btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line-2)}
.fx-btn-ghost:hover{background:var(--card)}
.fx-btn-danger{background:transparent;color:var(--danger);border:1px solid rgba(248,113,113,.45)}
.fx-btn-danger:hover{background:rgba(248,113,113,.1)}
.fx-btn[disabled]{opacity:.6;cursor:default}

.fx-field{margin-bottom:18px}
.fx-field label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--text)}
.fx-help{font-size:13px;color:var(--muted);margin-top:6px}
.fx-error{font-size:14px;color:var(--danger);margin-top:6px}
.fx-field.has-error input,.fx-field.has-error textarea{border-color:var(--danger)}

/* Structura aplicației */
.fx-app{min-height:100vh;display:flex;flex-direction:column}
.fx-top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:rgba(15,23,42,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.fx-top-link{color:var(--muted);text-decoration:none;font-size:14px;padding:8px}
.fx-main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:16px 16px calc(var(--nav-h) + 32px + env(safe-area-inset-bottom))}
.fx-main:focus{outline:none}
.fx-loading{color:var(--muted)}

.fx-nav{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-template-columns:repeat(4,1fr);
  padding-bottom:env(safe-area-inset-bottom);background:rgba(2,6,23,.96);border-top:1px solid var(--line)}
.fx-nav a{display:flex;align-items:center;justify-content:center;height:var(--nav-h);font-size:13px;font-weight:600;color:var(--muted);text-decoration:none}
.fx-nav a[aria-current=page]{color:var(--accent-2);box-shadow:inset 0 3px 0 var(--accent)}
.fx-nav a[aria-disabled=true]{opacity:.45}

/* Antet de ecran */
.fx-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 16px}
.fx-head h1{font-size:24px;line-height:1.2;margin:0;color:var(--white)}
.fx-back{display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;font-size:14px;margin-bottom:8px;padding:6px 0}

/* Listă clienți */
.fx-search{margin-bottom:14px}
.fx-count{font-size:13px;color:var(--muted);margin:0 0 8px}
.fx-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.fx-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}
.fx-row-main{flex:1;min-width:0;display:block;padding:14px 0;text-decoration:none;color:inherit}
.fx-row-name{display:block;font-weight:600;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fx-row-sub{display:block;font-size:14px;color:var(--muted)}
.fx-icon-btn{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;color:var(--text);text-decoration:none;border:1px solid var(--line)}
.fx-icon-btn:hover{background:var(--card)}
.fx-icon-btn svg{width:20px;height:20px}
.fx-icon-wa{color:var(--ok)}

.fx-empty{text-align:center;padding:48px 12px;color:var(--muted)}
.fx-empty h2{color:var(--white);font-size:20px;margin:0 0 8px}
.fx-empty .fx-btn{margin-top:18px}

.fx-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.fx-actions .fx-btn{flex:1 1 auto;white-space:nowrap}
.fx-danger-zone{margin-top:36px;padding-top:20px;border-top:1px solid var(--line)}

.fx-fab{position:fixed;right:16px;bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom));z-index:9;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.fx-more{display:block;width:100%;margin-top:16px}

/* Notificare */
.fx-toast{position:fixed;left:50%;top:calc(64px + env(safe-area-inset-top));transform:translate(-50%,-12px);width:max-content;z-index:20;
  background:var(--white);color:#0f172a;font-weight:600;font-size:15px;padding:12px 18px;border-radius:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100% - 32px)}
.fx-toast.is-on{opacity:1;transform:translate(-50%,0)}
.fx-toast.is-error{background:var(--danger)}

@media (min-width:720px){
  .fx-main{padding-top:28px}
  .fx-fab{right:calc(50% - 344px)}
}
@media (prefers-reduced-motion:reduce){.fx-toast{transition:none}}

/* ===== v0.2.0 ===== */
.fx-label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--text)}
.fx-muted{color:var(--muted)}
.fx-pre{white-space:pre-wrap;margin:4px 0 0}
.fx-section{font-size:17px;color:var(--white);margin:30px 0 10px}
.fx-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
input[type=date],input[type=time],input[type=number]{width:100%;font:inherit;font-size:16px;color:var(--white);background:var(--bg);border:1px solid var(--line-2);border-radius:12px;padding:11px 12px;color-scheme:dark;min-height:48px}
input[type=date]:focus,input[type=time]:focus,input[type=number]:focus{border-color:var(--brand-2);outline:none;box-shadow:0 0 0 3px rgba(42,147,163,.35)}
.fx-custom-dur{margin-top:10px;max-width:160px}

/* Navigare zile / luni */
.fx-daynav{display:flex;align-items:center;gap:10px;margin:4px 0 6px}
.fx-daynav-title{flex:1;min-width:0;text-align:center}
.fx-daynav-title h1{font-size:22px;line-height:1.2;margin:0;color:var(--white)}
.fx-daynav-sub{position:relative;display:inline-block;font-size:14px;color:var(--muted);margin-top:2px;cursor:pointer;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.fx-date-input{position:absolute!important;inset:0;opacity:0;width:100%!important;min-height:0!important;padding:0!important;cursor:pointer}
.fx-icon-btn.is-hidden{visibility:hidden}
.fx-today-link{text-align:center;margin:0 0 6px;font-size:14px}
.fx-daynav + .fx-count,.fx-today-link + .fx-count{text-align:center}

/* Programări în listă */
.fx-appt-main{display:flex;gap:14px;align-items:flex-start}
.fx-appt-time{flex:none;width:52px;display:flex;flex-direction:column;font-variant-numeric:tabular-nums}
.fx-appt-time strong{color:var(--white);font-size:17px}
.fx-appt-time span{color:var(--muted);font-size:13px}
.fx-appt-info{min-width:0;flex:1}
.fx-row.is-off .fx-row-name{text-decoration:line-through;color:var(--muted)}
.fx-badge{display:inline-block;margin-top:6px;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:var(--card);color:var(--text);border:1px solid var(--line-2)}
.st-confirmed{background:rgba(37,211,102,.12);border-color:rgba(37,211,102,.45);color:#5be08f}
.st-done{background:rgba(42,147,163,.18);border-color:rgba(111,182,193,.5);color:var(--brand-soft)}
.st-cancelled{color:var(--muted)}
.st-noshow{background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.45);color:var(--danger)}

/* Carduri */
.fx-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:14px}
.fx-card-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fx-card-row strong{display:block;color:var(--white)}
.fx-card-title{font-size:18px;font-weight:700;color:var(--white);text-decoration:none}
.fx-card-title:hover{text-decoration:underline}
.fx-card-row p{margin:2px 0 0}
.fx-card-actions{display:flex;gap:8px;flex:none}
.fx-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.fx-dl dt{color:var(--muted);font-size:14px}
.fx-dl dd{margin:0;color:var(--white)}
.fx-dl dd .fx-badge{margin-top:0}

.fx-status-actions{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 8px}
.fx-status-actions .fx-btn{flex:1 1 140px;white-space:nowrap}
.fx-status-actions .fx-btn:first-child{flex-basis:100%}
.fx-complete{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:4px 16px 16px;margin:4px 0}
.fx-complete .fx-section{margin-top:14px}

/* Butoane de alegere */
.fx-chips{display:flex;flex-wrap:wrap;gap:8px}
.fx-chip{font:inherit;font-size:15px;font-weight:600;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--text);cursor:pointer}
.fx-chip:hover{background:var(--card)}
.fx-chip[aria-checked=true]{background:var(--accent);border-color:var(--accent);color:#0f172a}

/* Alegerea clientului */
.fx-picker-results{list-style:none;margin:8px 0 0;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.fx-picker-results li + li{border-top:1px solid var(--line)}
.fx-picker-item{display:block;width:100%;text-align:left;font:inherit;background:transparent;border:0;color:var(--text);padding:12px 14px;cursor:pointer}
.fx-picker-item:hover,.fx-picker-item:focus-visible{background:var(--card)}
.fx-picker-item strong{display:block;color:var(--white);font-weight:600}
.fx-picker-add strong{color:var(--accent-2)}
.fx-picked{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--card);border:1px solid var(--line-2);border-radius:12px;padding:12px 14px}
.fx-picked strong{display:block;color:var(--white)}
.fx-picker-new{background:var(--card);border:1px solid var(--line-2);border-radius:12px;padding:14px}
.fx-picker-new label{display:block;font-size:14px;font-weight:600;margin:10px 0 6px}
.fx-picker-title{margin:0;font-weight:700;color:var(--white)}
.fx-link-btn{font:inherit;font-size:14px;font-weight:600;background:none;border:0;color:var(--brand-soft);cursor:pointer;padding:8px 0;text-decoration:underline;text-underline-offset:3px}
.fx-picker-new .fx-link-btn{margin-top:8px}
.fx-danger-text{color:var(--danger);flex:none;padding:8px 4px}

.fx-warning{background:rgba(232,185,63,.1);border:1px solid rgba(232,185,63,.5);border-radius:12px;padding:12px 14px;margin:-4px 0 18px;color:var(--accent-2);font-size:14px}
.fx-warning ul{margin:6px 0;padding-left:18px;color:var(--white)}
.fx-warning p{margin:0;color:var(--text)}

/* Sume */
.fx-balance{display:flex;align-items:baseline;justify-content:space-between;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:14px}
.fx-balance span{color:var(--muted)}
.fx-balance strong{font-size:22px;color:var(--white)}
.fx-balance.is-due{border-color:rgba(232,185,63,.55)}
.fx-balance.is-due strong{color:var(--accent-2)}
.fx-balance.is-credit strong{color:var(--brand-soft)}
.fx-total{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 16px;margin:10px 0 4px}
.fx-total > span:first-child{color:var(--muted);font-size:14px}
.fx-total strong{font-size:34px;line-height:1.2;color:var(--white);font-variant-numeric:tabular-nums}
.fx-amount{flex:none;font-weight:700;color:var(--white);font-variant-numeric:tabular-nums}
.fx-amount.is-due{color:var(--accent-2)}

/* ===== v0.3.0 ===== */
.fx-badges{display:flex;flex-wrap:wrap;gap:6px}
.fx-badges .fx-badge{margin-top:6px}
.st-new{background:rgba(232,185,63,.16);border-color:rgba(232,185,63,.6);color:var(--accent-2)}
.fx-rem-link{display:flex;width:100%;margin:6px 0 10px;min-height:44px}
.fx-rem-intro{font-size:14px;margin:0 0 10px}
.fx-btn-sm{min-height:40px;padding:0 14px;font-size:14px;flex:none}
.fx-small{font-size:13px;flex:none}
.fx-card-label{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--muted);margin:0 0 10px}
.fx-card-sub{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.fx-card-sub strong{display:block;color:var(--white);word-break:break-all}
.fx-replies ul{list-style:none;margin:0;padding:0}
.fx-replies.is-new{border-color:rgba(232,185,63,.6)}
.fx-reply-item{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-top:1px solid var(--line)}
.fx-reply-item:first-child{border-top:0;padding-top:0}
.fx-reply-head{display:flex;justify-content:space-between;gap:10px;font-size:14px}
.fx-reply-item.is-confirm strong{color:#5be08f}
.fx-reply-item.is-decline strong{color:var(--danger)}
.fx-reply-item .fx-pre{color:var(--white)}
.fx-rem-box{margin-top:14px}
.fx-rem-status{list-style:none;margin:0 0 12px;padding:0;font-size:14px;color:var(--text)}
.fx-rem-status li{padding:3px 0}
.fx-subform{border-left:3px solid var(--line-2);padding-left:14px;margin:-4px 0 18px}
.fx-check{display:flex;gap:10px;align-items:flex-start}
.fx-check input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--accent);flex:none}
.fx-check label{margin:0;font-weight:500}
.fx-preview{white-space:pre-wrap;background:#005c4b;color:#e9edef;border-radius:12px 12px 12px 4px;padding:12px 14px;font-size:14px;margin:6px 0 20px}

/* Pagina publică de confirmare */
.fx-reply .fx-auth-card{max-width:460px}
.fx-reply h1{margin:4px 0 6px}
.fx-reply-business{margin:0;font-weight:700;color:var(--accent-2)!important}
.fx-reply-when{font-size:18px;color:var(--white)!important;margin:0}
.fx-reply-service{margin:4px 0 0}
.fx-reply-ok{background:rgba(37,211,102,.12);border:1px solid rgba(37,211,102,.45);color:#5be08f;border-radius:12px;padding:12px 14px;margin:18px 0 0;font-weight:600}
.fx-reply-error{background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.45);color:var(--danger);border-radius:12px;padding:12px 14px;margin:18px 0 0}
.fx-reply-state{font-weight:700;margin:16px 0 0}
.fx-reply-state.is-yes{color:#5be08f!important}
.fx-reply-state.is-no{color:var(--danger)!important}
.fx-reply-form{margin-top:20px}
.fx-reply-form label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--text)}
.fx-reply-form textarea{min-height:90px}
.fx-reply-buttons{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.fx-reply-buttons .fx-btn{width:100%}
.fx-reply-list{list-style:none;margin:0;padding:0}
.fx-reply-list li{display:flex;flex-direction:column;padding:8px 0;border-top:1px solid var(--line);color:var(--white)}
.fx-reply-list .fx-muted{font-size:13px}
.fx-reply-contact{margin-top:20px}
.fx-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ===== v0.4.0 ===== */
select{font:inherit;font-size:16px;color:var(--white);background:var(--bg);border:1px solid var(--line-2);border-radius:12px;padding:0 10px;min-height:48px;color-scheme:dark}
select:focus{border-color:var(--brand-2);outline:none;box-shadow:0 0 0 3px rgba(42,147,163,.35)}
.fx-filter{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;margin-bottom:12px;-webkit-overflow-scrolling:touch}
.fx-filter .fx-chip{flex:none;min-height:40px;font-size:14px}
.fx-small-p{font-size:13px;margin:10px 0 0}
.fx-full{width:100%}

/* Liniile devizului (formular) */
.fx-lines{display:flex;flex-direction:column;gap:10px}
.fx-line{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px}
.fx-line-nums{display:grid;grid-template-columns:1fr 1.1fr 1.4fr;gap:8px;margin-top:8px}
.fx-line-nums input,.fx-line-nums select{min-width:0;width:100%}
.fx-line-foot{display:flex;justify-content:space-between;align-items:center;margin-top:4px;min-height:36px}
.fx-line-total{font-weight:700;color:var(--white);font-variant-numeric:tabular-nums}
.fx-add-line{width:100%;margin:-6px 0 14px}

/* Deviz: linii și totaluri (aplicație și pagina publică) */
.fx-q-title{font-weight:700;color:var(--white);margin:14px 0 0}
.fx-q-lines{list-style:none;margin:14px 0 0;padding:0}
.fx-q-lines li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.fx-q-lines li strong{color:var(--white);white-space:nowrap;font-variant-numeric:tabular-nums}
.fx-q-desc{min-width:0;color:var(--white)}
.fx-q-desc small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.fx-q-totals{display:grid;grid-template-columns:1fr auto;gap:6px 14px;margin:6px 0 0;padding-top:10px;border-top:1px solid var(--line)}
.fx-q-totals dt{color:var(--muted)}
.fx-q-totals dd{margin:0;text-align:right;color:var(--white);font-variant-numeric:tabular-nums}
.fx-q-totals .grand{font-size:18px;font-weight:800;color:var(--white)}
.fx-q-totals dd.grand{color:var(--accent-2)}
.fx-q-totals-app{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:0 0 18px}
.fx-card .fx-q-totals-app{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:10px 0 0;margin:6px 0 0}
.fx-q-notes{margin-top:14px;color:var(--text)}
.fx-quote-page .fx-auth-card{max-width:520px}
.fx-quote-page .fx-q-lines li{border-color:var(--line)}
.fx-send-box{margin-top:12px;border-color:rgba(232,185,63,.55)}
.fx-head .fx-badge{margin-top:0;flex:none}

/* Ghidul de la prima intrare */
.fx-welcome{max-width:460px;margin:12px auto 0}
.fx-welcome h1{font-size:26px;color:var(--white);margin:16px 0 8px}
.fx-welcome > .fx-link-btn{margin-top:18px}
.fx-steps{display:flex;gap:6px}
.fx-steps span{height:5px;flex:1;border-radius:99px;background:var(--line)}
.fx-steps span.is-on{background:var(--accent)}
.fx-feedback{margin-top:28px}
.fx-feedback textarea{min-height:100px}

/* ===== v0.5.0 ===== */
.fx-top-actions{display:flex;align-items:center;gap:4px}
.fx-bell{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;color:var(--text)}
.fx-bell:hover,.fx-bell[aria-current=page]{background:var(--card);color:var(--white)}
.fx-bell svg{width:22px;height:22px}
.fx-bell-count{position:absolute;top:5px;right:4px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--accent);color:#0f172a;font-size:11px;font-weight:800;line-height:18px;text-align:center}
.fx-nav a{position:relative}
.fx-nav a.has-dot::after{content:"";position:absolute;top:16px;left:calc(50% + 26px);width:8px;height:8px;border-radius:50%;background:var(--accent)}
.fx-notes .fx-row-main{padding:12px 0}
.fx-notes .is-unread{background:linear-gradient(90deg,rgba(232,185,63,.09),transparent 70%)}
.fx-notes .is-unread .fx-row-name::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:middle}
.fx-note-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.fx-note-time{font-size:13px;flex:none}
.fx-note-label{display:block;font-size:14px;color:var(--text);margin-top:2px}
.fx-note-label.is-yes{color:#5be08f}
.fx-note-label.is-no{color:var(--danger)}
.fx-note-msg{display:block;color:var(--white);margin-top:4px;font-size:15px}
.fx-notify-intro{margin:-4px 0 12px}
.fx-notify-box .fx-field{margin-bottom:12px}

/* ===== v0.6.0: calendarul lunii ===== */
.fx-cal{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 12px 10px;margin-bottom:14px}
.fx-cal-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.fx-cal-head .fx-icon-btn{background:transparent;cursor:pointer;width:40px;height:40px}
.fx-cal-title{flex:1;min-width:0;text-align:center;font-size:16px;color:var(--white);white-space:nowrap}
.fx-cal-toggle{flex:none;font-size:13px;padding:6px 2px;white-space:nowrap}
.fx-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.fx-cal-wd{text-align:center;font-size:12px;font-weight:700;color:var(--muted);padding:2px 0 4px}
.fx-cal-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:46px;padding:4px 0;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text);font:inherit;cursor:pointer}
.fx-cal-day:hover{border-color:var(--line-2)}
.fx-cal-num{font-size:14px;font-weight:600;line-height:1.1}
.fx-cal-count{font-size:11px;font-weight:800;line-height:1;color:var(--white)}
.fx-cal-day.l1{background:rgba(42,147,163,.20)}
.fx-cal-day.l2{background:rgba(42,147,163,.42)}
.fx-cal-day.l3{background:rgba(42,147,163,.72)}
.fx-cal-day.l3 .fx-cal-num{color:var(--white)}
.fx-cal-day.is-other{opacity:.45}
.fx-cal-day.is-today{border-color:var(--accent-2)}
.fx-cal-day.is-selected{background:var(--accent);border-color:var(--accent)}
.fx-cal-day.is-selected .fx-cal-num,.fx-cal-day.is-selected .fx-cal-count{color:#0f172a}
.fx-cal-dot{position:absolute;top:5px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 0 2px var(--card)}
.fx-cal-day.is-selected .fx-cal-dot{background:#0f172a;box-shadow:none}
.fx-cal-dot.is-inline{position:static;display:inline-block;vertical-align:middle;box-shadow:none}
.fx-cal-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:10px 2px 0;font-size:12px;color:var(--muted)}
.fx-cal-key{display:inline-block;width:12px;height:12px;border-radius:4px}
.fx-cal-key.l1{background:rgba(42,147,163,.20)}.fx-cal-key.l2{background:rgba(42,147,163,.42)}.fx-cal-key.l3{background:rgba(42,147,163,.72)}
.fx-day-head h1{font-size:22px;line-height:1.2;margin:6px 0 2px;color:var(--white)}
.fx-day-head .fx-count{margin:0 0 8px}
.fx-empty-sm{padding:20px 12px}
.fx-cal-details{margin:-6px 0 18px}
.fx-cal-details summary{cursor:pointer;color:var(--brand-soft);font-size:14px;font-weight:600;padding:6px 0 10px}
.fx-cal-pick{margin-bottom:0}

/* Agenda pe două coloane, pe ecrane late */
.fx-main.is-wide{max-width:1180px}
.fx-agenda{display:grid;gap:28px}
.fx-month{display:none}
@media (min-width:1000px){
  .fx-agenda{grid-template-columns:minmax(0,1fr) 400px;align-items:start}
  .fx-month{display:block;position:sticky;top:80px;background:var(--bg-2);border:1px solid var(--line);border-radius:16px;padding:16px 16px 6px}
  /* butonul plutitor stă în dreptul coloanei din stânga, nu peste lista lunii */
  .fx-main.is-wide .fx-fab{right:444px}
}
@media (min-width:1212px){.fx-main.is-wide .fx-fab{right:calc(50% - 146px)}}
.fx-month-title{font-size:16px;color:var(--white);margin:0 0 10px}
.fx-month-scroll{max-height:calc(100vh - 220px);overflow-y:auto;padding-right:4px}
.fx-month-day{margin-bottom:12px;border-radius:12px}
.fx-month-day.is-selected{background:rgba(232,185,63,.07);box-shadow:inset 3px 0 0 var(--accent)}
.fx-month-day.is-past{opacity:.7}
.fx-month-day-head{display:flex;justify-content:space-between;gap:8px;padding:8px 10px 4px;font-size:14px;font-weight:700;color:var(--white);text-decoration:none}
.fx-month-day-head:hover span:first-child{text-decoration:underline}
.fx-month-day .fx-list{border-top:0;padding:0 10px}
.fx-month-day .fx-row-main{padding:9px 0}
.fx-month-day .fx-appt-time{width:46px}
.fx-month-day .fx-appt-time strong{font-size:15px}

/* ===== v0.8.0: mod demo ===== */
.fx-demo-banner{position:sticky;top:calc(64px + env(safe-area-inset-top));z-index:9;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px;padding:8px 16px;background:#3b2f0b;border-bottom:1px solid rgba(232,185,63,.5);color:var(--accent-2);font-size:13px;text-align:center}
.fx-demo-banner a{color:var(--white);font-weight:700}
.fx-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(2,6,23,.75)}
.fx-modal-card{width:100%;max-width:420px;background:var(--card);border:1px solid var(--line-2);border-radius:18px;padding:20px}
.fx-modal-card h2{font-size:19px;color:var(--white);margin:0 0 8px}
.fx-modal-card .fx-btn{width:100%;margin-top:4px}
.fx-modal-cta{margin-top:10px;width:100%}

/* ===== Devize complete (v0.11.0) ===== */
.fx-fold{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:0 0 14px}
.fx-fold>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:13px 14px;font-weight:700;color:var(--white);min-height:48px}
.fx-fold>summary::-webkit-details-marker{display:none}
.fx-fold>summary::before{content:'+';display:inline-block;width:18px;color:var(--accent-2);font-weight:800}
.fx-fold[open]>summary::before{content:'–'}
.fx-fold-hint{font-weight:400;font-size:14px;color:var(--muted)}
.fx-fold[open]>summary{border-bottom:1px solid var(--line)}
.fx-fold>*:not(summary){margin-left:14px;margin-right:14px}
.fx-fold>*:last-child{margin-bottom:14px}
.fx-fold>summary+*{margin-top:14px}
.fx-fold .fx-line,.fx-fold .fx-scope-block,.fx-fold .fx-sched-row{background:var(--bg)}
.fx-line-adds{margin:8px 0 4px}
.fx-line-adds .fx-add-line{margin:0}
.fx-flag-help{margin:0 0 14px}
.fx-line-sec{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;padding:10px 2px 0;border-top:2px solid var(--brand)}
.fx-line-sec .fx-label{grid-column:1/-1;margin:0;color:var(--brand-soft);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.fx-line-sec input{font-weight:700}
.fx-line-flag{max-width:150px;font-size:14px;padding:6px 8px;min-height:36px}
.fx-line-foot{gap:10px}
.fx-line.is-free{border-color:rgba(37,211,102,.45)}
.fx-line.is-free .fx-line-total{color:#5be08f}
.fx-line.is-optional{border-style:dashed;border-color:var(--accent)}
.fx-line.is-optional .fx-line-total{color:var(--accent-2)}
.fx-scope{display:flex;flex-direction:column;gap:10px}
.fx-scope-block{position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 10px 6px 34px;display:flex;flex-direction:column;gap:8px}
.fx-scope-nr{position:absolute;left:12px;top:20px;font-weight:800;color:var(--accent-2)}
.fx-scope-block .fx-link-btn{align-self:flex-end}
.fx-sched{display:flex;flex-direction:column;gap:10px}
.fx-sched-row{position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 10px 10px 34px}
.fx-sched-row .fx-scope-nr{top:22px}
.fx-sched-nums{display:grid;grid-template-columns:70px auto 1fr auto;gap:8px;align-items:center;margin-top:8px}
.fx-sched-nums .fx-line-total{text-align:right}
.fx-rec-nums{grid-template-columns:1fr 1fr 1fr}
.fx-error-text{color:var(--danger)!important}
dt.fx-q-disc,dd.fx-q-disc{color:var(--accent-2)!important}
dt.fx-q-gift,dd.fx-q-gift{color:#5be08f!important;font-size:14px}
.fx-q-intro{margin:10px 0 0;color:var(--text)}
.fx-q-facts{margin:10px 0 0;padding-left:18px;color:var(--text);font-size:14px}
.fx-q-head{margin:18px 0 0}
.fx-q-scope{margin:8px 0 0;padding-left:20px;color:var(--white)}
.fx-q-scope>li{margin:0 0 8px}
.fx-q-scope ul{margin:4px 0 0;padding-left:18px;color:var(--text);list-style:circle;font-size:15px}
.fx-q-sec{margin:14px 0 0;font-weight:700;color:var(--brand-soft);font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.fx-q-subtotal{display:flex;justify-content:space-between;margin:0;padding:8px 0;border-top:1px dashed var(--line-2);font-size:14px;color:var(--muted)}
.fx-q-subtotal strong{color:var(--white)}
.fx-q-lines li.is-free .fx-q-desc{color:var(--text)}
.fx-q-lines s{color:var(--muted);font-weight:400}
.fx-q-tag{display:inline-block;margin-left:6px;padding:0 6px;border:1px solid rgba(37,211,102,.55);border-radius:6px;color:#5be08f;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;vertical-align:2px}
.fx-q-options .fx-q-lines li{align-items:flex-start}
.fx-q-opt{display:flex;gap:10px;align-items:flex-start;cursor:pointer;min-width:0}
.fx-q-opt input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--accent);flex:none}
.fx-q-check{color:#5be08f;font-weight:800;width:22px;flex:none}
.fx-q-tranches{list-style:none;margin:8px 0 0;padding:0;counter-reset:tr}
.fx-q-tranches li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line);color:var(--white)}
.fx-q-tranches li strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.fx-q-logo{display:block;max-width:180px;max-height:64px;margin:0 0 10px;background:#fff;border-radius:8px;padding:6px}
.fx-white{color:var(--white)}
.fx-logo-preview{display:block;max-width:220px;max-height:80px;background:#fff;border-radius:10px;padding:8px;margin:8px 0}
.fx-logo-actions{margin-top:6px;align-items:center}
.fx-logo-actions .fx-btn{cursor:pointer}
.is-busy{opacity:.6;pointer-events:none}
.fx-accept-box{margin-top:14px}

/* Culoarea afacerii pe pagina devizului (v0.11.1) */
.fx-quote-page{--q-accent:#D45500}
.fx-quote-page .fx-section{border-left:4px solid var(--q-accent);padding-left:10px}
.fx-quote-page .fx-reply-business{color:var(--q-accent)!important;filter:brightness(1.35)}
.fx-colors{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fx-color{display:flex;align-items:center;gap:10px}
.fx-color input[type=color]{width:52px;height:44px;padding:2px;border:1px solid var(--line-2);border-radius:10px;background:var(--bg);cursor:pointer;flex:none}
.fx-color code{color:var(--text);font-size:14px}
.fx-color-preview{border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#fff;margin:4px 0 6px}
.fx-color-preview .bar{height:8px}
.fx-color-preview p{margin:0;padding:8px 12px;font-weight:700;font-size:15px}
.fx-color-preview .th{color:#fff;font-size:12px;font-weight:700;padding:5px 12px}
.fx-color-preview .h2{border-left:4px solid;margin:8px 12px 10px;padding-left:8px;font-weight:700;font-size:14px}
.fx-field .fx-logo-actions label.fx-btn{display:inline-flex;margin:0;font-size:16px;font-weight:700;color:var(--text)}
