:root{
  --bg:#f4f7fb;--surface:#ffffff;--surface-2:#f8fafc;--text:#0f172a;--muted:#64748b;
  --line:#e2e8f0;--line-strong:#cbd5e1;--nav:#0b1220;--nav-2:#111b2e;--nav-text:#cbd5e1;
  --accent:#2563eb;--accent-2:#1d4ed8;--accent-soft:#eff6ff;--green:#15803d;--green-bg:#ecfdf3;
  --amber:#b45309;--amber-bg:#fff7ed;--red:#b91c1c;--red-bg:#fef2f2;--shadow:0 12px 35px rgba(15,23,42,.06);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{font-size:15px;line-height:1.45}
a{color:inherit}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:245px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--nav),#0d1729);color:var(--nav-text);padding:24px 16px 18px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.06)}
.brand{display:flex;align-items:center;gap:11px;padding:0 10px 24px}.brand-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#3b82f6,#2563eb);display:grid;place-items:center;color:#fff;font-weight:800;letter-spacing:-.03em;box-shadow:0 8px 18px rgba(37,99,235,.32)}.brand strong{display:block;color:#fff;font-size:16px}.brand span{display:block;font-size:11px;color:#7f8da3;margin-top:1px;letter-spacing:.04em;text-transform:uppercase}
.sidebar-nav{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;text-decoration:none;color:#aab6c8;font-weight:600;transition:.18s ease}.nav-item svg,.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item.active{background:#172642;color:#fff;box-shadow:inset 3px 0 0 #60a5fa}.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.07);padding-top:15px}.user-chip{display:flex;align-items:center;gap:10px;padding:8px 10px 14px}.avatar{width:34px;height:34px;border-radius:50%;background:#243652;display:grid;place-items:center;color:#fff;font-weight:800}.user-chip strong{display:block;color:#fff;font-size:13px}.user-chip span{font-size:11px;color:#7f8da3}.logout-link{margin-top:2px}
.content-shell{min-width:0}.topbar{height:102px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:20px 34px;position:sticky;top:0;z-index:10}.topbar h1{font-size:24px;line-height:1.15;margin:3px 0 0;letter-spacing:-.025em}.eyebrow{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-weight:800}.topbar-actions{display:flex;gap:8px}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:11px;background:#fff;display:grid;place-items:center;color:#475569;text-decoration:none}.icon-button:hover{border-color:#bfdbfe;color:var(--accent);background:var(--accent-soft)}
.main-content{padding:28px 34px 46px;max-width:1600px;margin:0 auto}.page-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:20px}.page-toolbar .actions{margin-left:auto}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 1px 2px rgba(15,23,42,.02);margin-bottom:18px}.card h2,.card h3{margin-top:0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.metric{position:relative;overflow:hidden;padding:20px 20px 18px}.metric::after{content:"";position:absolute;width:76px;height:76px;border-radius:50%;right:-18px;top:-18px;background:#f1f5f9}.metric-label{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.metric-value{display:block;font-size:27px;font-weight:800;letter-spacing:-.03em;margin-top:8px}.metric-note{font-size:12px;color:var(--muted);margin-top:6px}.metric.accent{border-color:#dbeafe;background:linear-gradient(180deg,#fff,#f8fbff)}.metric.accent::after{background:#dbeafe}.metric.success::after{background:#dcfce7}.metric.warning::after{background:#ffedd5}
.filter-bar{display:grid;grid-template-columns:minmax(240px,1.45fr) minmax(150px,.55fr) minmax(180px,.65fr) auto auto;gap:12px;align-items:end}.form-row{margin-bottom:14px}.form-row label,.filter-bar label,.inline label{display:block;font-size:12px;color:#475569;font-weight:700;margin-bottom:6px}.input-icon{position:relative}.input-icon input{padding-left:40px}.input-icon:before{content:"⌕";position:absolute;left:14px;top:8px;color:#94a3b8;font-size:20px}
input,select,textarea{width:100%;border:1px solid var(--line-strong);background:#fff;color:var(--text);border-radius:10px;padding:10px 12px;outline:none;transition:.16s ease}textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #dbeafe}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;padding:10px 14px;cursor:pointer;transition:.16s ease;white-space:nowrap}button:hover,.btn:hover{background:var(--accent-2);transform:translateY(-1px)}.btn.secondary{background:#eef2f7;color:#334155}.btn.secondary:hover{background:#e2e8f0}.btn.outline{background:#fff;color:#334155;border:1px solid var(--line-strong)}.btn.outline:hover{background:#f8fafc}.btn.danger{background:#dc2626}.btn.danger:hover{background:#b91c1c}.btn.small{padding:7px 10px;border-radius:8px;font-size:12px}.actions{display:flex;gap:9px;flex-wrap:wrap}
.table-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}.table-head{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}.table-head h2{font-size:16px;margin:0}.table-head .muted{font-size:12px}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;background:var(--surface)}th{padding:12px 16px;text-align:left;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.07em;background:#fbfdff;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:14px 16px;border-bottom:1px solid #edf2f7;vertical-align:middle}tbody tr:hover{background:#fbfdff}tbody tr:last-child td{border-bottom:0}.supplier-link{text-decoration:none;color:var(--text)}.supplier-link:hover{color:var(--accent)}.supplier-name{font-weight:750}.muted{color:var(--muted);font-size:12px}.nowrap{white-space:nowrap}.right{text-align:right}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.status-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.025em}.status-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status-pill.unpaid{color:var(--red);background:var(--red-bg)}.status-pill.partial{color:var(--amber);background:var(--amber-bg)}.status-pill.paid{color:var(--green);background:var(--green-bg)}.status{font-weight:800}.status.unpaid{color:var(--red)}.status.partial{color:var(--amber)}.status.paid{color:var(--green)}
.flash{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;margin-bottom:18px;border:1px solid}.flash.success{background:var(--green-bg);border-color:#bbf7d0;color:#166534}.flash.error{background:var(--red-bg);border-color:#fecaca;color:#991b1b}.flash-dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.inline{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.inline>*{flex:1;min-width:150px}.section-title{display:flex;align-items:end;justify-content:space-between;margin:26px 0 12px}.section-title h2{margin:0;font-size:17px}.detail-grid{display:grid;grid-template-columns:1.35fr .9fr .9fr;gap:16px}.detail-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.detail-card .label{font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.06em;font-weight:800}.detail-card .primary{font-size:18px;font-weight:800;margin-top:6px}.detail-list{display:grid;gap:8px;margin-top:12px}.detail-row{display:flex;justify-content:space-between;gap:15px;border-top:1px dashed #e2e8f0;padding-top:8px}.detail-row span:first-child{color:var(--muted)}.payment-summary{background:linear-gradient(135deg,#eff6ff,#fff);border-color:#bfdbfe}.payment-summary .primary{font-size:24px}.note-box{padding:14px 16px;border-left:4px solid #93c5fd;background:#f8fbff;border-radius:0 12px 12px 0;margin:18px 0}
.code-box{padding:12px 14px;border:1px dashed #cbd5e1;background:#f8fafc;border-radius:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;overflow:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-actions{position:sticky;bottom:18px;display:flex;justify-content:flex-end;gap:10px;padding:12px;border:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-radius:14px;box-shadow:var(--shadow)}
.empty-state{text-align:center;padding:54px 20px;color:var(--muted)}.empty-state strong{display:block;color:var(--text);font-size:17px;margin-bottom:6px}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#dbeafe 0,transparent 28%),radial-gradient(circle at 90% 80%,#e0e7ff 0,transparent 25%),#f8fafc}.auth-wrap{width:min(430px,100%)}.auth-brand{text-align:center;margin-bottom:20px}.auth-brand .brand-mark{margin:0 auto 12px;width:48px;height:48px}.auth-brand h1{font-size:25px;margin:0}.auth-brand p{color:var(--muted);margin:5px 0 0}.auth-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 24px 60px rgba(15,23,42,.09)}.auth-card button{width:100%;margin-top:4px}.auth-foot{text-align:center;color:var(--muted);font-size:11px;margin-top:15px}
@media(max-width:1050px){.app-shell{grid-template-columns:78px minmax(0,1fr)}.sidebar{padding:20px 10px}.brand{padding:0 8px 24px}.brand>div:last-child,.nav-item span,.user-chip>div:last-child{display:none}.brand-mark{width:40px;height:40px}.nav-item{justify-content:center;padding:11px}.user-chip{justify-content:center;padding-inline:0}.detail-grid{grid-template-columns:1fr 1fr}.detail-grid>.detail-card:first-child{grid-column:1/-1}.filter-bar{grid-template-columns:minmax(220px,1fr) 150px 180px auto}.filter-bar>.sync-action{grid-column:1/-1;justify-self:start}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;height:auto;display:block;padding:10px 14px}.brand{padding:4px 0 10px}.brand>div:last-child{display:block}.sidebar-nav{flex-direction:row;overflow:auto;padding-bottom:3px}.nav-item{min-width:max-content}.nav-item span{display:inline}.sidebar-bottom{display:none}.topbar{position:static;height:auto;padding:18px 16px}.topbar h1{font-size:21px}.main-content{padding:18px 14px 34px}.grid,.detail-grid,.split{grid-template-columns:1fr}.detail-grid>.detail-card:first-child{grid-column:auto}.filter-bar{grid-template-columns:1fr}.filter-bar>.sync-action{grid-column:auto}.card{padding:16px}.table-card{border-radius:12px}.metric-value{font-size:24px}.page-toolbar{align-items:flex-start;flex-direction:column}}

/* Dashboard period selectors */
.metrics-form{margin-bottom:18px}.metrics-form .card{margin-bottom:0}.metric-grid{align-items:stretch}.metric-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.metric-period-controls{display:flex;flex-direction:column;align-items:flex-end;gap:6px;max-width:190px}.metric-period-controls select,.metric-period-controls input{height:32px;min-height:32px;border-radius:8px;border:1px solid #dbe3ee;background:rgba(255,255,255,.92);padding:4px 8px;font-size:11px;color:#475569;box-shadow:none}.metric-period-controls select{max-width:155px}.metric-period-input{width:155px}.metric-custom-dates{display:grid;grid-template-columns:1fr auto 1fr;gap:4px;align-items:center}.metric-custom-dates input{width:108px;padding-inline:5px}.metric-custom-dates span{font-size:11px;color:var(--muted)}.metric-period-controls [hidden]{display:none!important}.metric-apply-row{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:9px}.metric-apply-row .btn{min-width:auto}.metric .metric-value,.metric .metric-note{position:relative;z-index:1}
@media(max-width:1280px){.metric-head{display:block}.metric-period-controls{align-items:flex-start;margin-top:8px;max-width:none}.metric-period-controls select,.metric-period-input{width:100%;max-width:none}.metric-custom-dates{width:100%;grid-template-columns:1fr auto 1fr}.metric-custom-dates input{width:100%}}
@media(max-width:760px){.metric-apply-row{align-items:flex-start;justify-content:flex-start;flex-direction:column}.metric-period-controls{width:100%}}

/* v4 - refined top navigation and Super User system settings */
.app-shell-topnav{display:block;min-height:100vh;background:var(--bg)}
.app-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 6px 24px rgba(15,23,42,.035)}
.header-inner{min-height:76px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:26px;max-width:1600px;margin:0 auto;padding:12px 34px}
.brand-horizontal{padding:0;text-decoration:none;min-width:max-content}
.brand-horizontal strong{color:var(--text);font-size:15px;letter-spacing:-.02em}
.brand-horizontal span{color:#8492a6;font-size:9px;letter-spacing:.11em}
.brand-horizontal .brand-mark{width:38px;height:38px;border-radius:12px}
.primary-nav{display:flex;align-items:center;gap:7px;min-width:0;overflow-x:auto;scrollbar-width:none;padding:2px}
.primary-nav::-webkit-scrollbar{display:none}
.top-nav-item{display:inline-flex;align-items:center;gap:8px;min-width:max-content;padding:9px 12px;border:1px solid transparent;border-radius:11px;color:#526177;text-decoration:none;font-size:13px;font-weight:750;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
.top-nav-item svg,.logout-button svg,.superuser-badge svg,.superuser-only-badge svg,.system-actions .btn svg,.role-label svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.top-nav-item:hover{background:#f8fafc;border-color:#e7edf5;color:#1e3a5f;transform:translateY(-1px)}
.top-nav-item.active{background:linear-gradient(180deg,#eff6ff,#eaf3ff);border-color:#cfe1fb;color:#1d4ed8;box-shadow:0 1px 2px rgba(37,99,235,.08),inset 0 0 0 1px rgba(255,255,255,.45)}
.account-area{display:flex;align-items:center;gap:9px;justify-self:end;min-width:max-content}
.account-chip{display:flex;align-items:center;gap:9px;padding:6px 9px 6px 7px;border:1px solid #e5ebf3;border-radius:13px;background:#fbfdff}
.account-chip .avatar{width:32px;height:32px;background:linear-gradient(135deg,#e0ecff,#c9dcff);color:#1d4ed8;border:1px solid #c8daf6;font-size:12px}
.account-copy{line-height:1.15}.account-copy strong{display:block;font-size:12px;color:#1f2937}.account-copy span{display:block;font-size:10px;color:#8290a3;margin-top:3px}
.logout-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 11px;border:1px solid #e2e8f0;border-radius:11px;background:#fff;color:#64748b;text-decoration:none;font-weight:700;font-size:12px;transition:.16s ease}
.logout-button:hover{background:#fff5f5;border-color:#fecaca;color:#b91c1c;transform:translateY(-1px)}
.page-titlebar{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1600px;margin:0 auto;padding:24px 34px 0}
.page-titlebar h1{font-size:25px;line-height:1.15;margin:4px 0 0;letter-spacing:-.03em}
.superuser-badge,.superuser-only-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid #dbe7fa;background:#f4f8ff;color:#315b96;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}
.superuser-only-badge{padding:6px 9px;font-size:9px}
.section-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:850;color:#8290a3;margin-bottom:4px}
.settings-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.settings-layout.has-system{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.settings-card{margin-bottom:0;height:100%}.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.card-title-row h2{margin:0;font-size:19px;letter-spacing:-.025em}.system-card{border-color:#d8e5f7;background:linear-gradient(180deg,#fff,#fbfdff)}
.system-description{margin:-4px 0 18px}.system-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.system-sync-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.system-sync-card h2{margin:2px 0 5px;font-size:17px}
.role-label{display:inline-flex;align-items:center;gap:6px}.role-label.super{color:#1d4ed8}.role-label svg{width:16px;height:16px}
.permission-section{margin-top:10px;padding-top:20px;border-top:1px solid var(--line)}.permission-section h3{margin:0 0 14px}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:10px}.permission-card{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fbfdff;cursor:pointer;transition:.15s ease}.permission-card:hover{border-color:#cbd8e8;background:#fff}.permission-card input{width:auto;margin:3px 0 0;accent-color:var(--accent)}.permission-card span{min-width:0}.permission-card strong{display:block;font-size:13px}.permission-card small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.35}.permission-super{border-color:#cfe1fb;background:#f5f9ff}.permission-super strong{color:#1d4ed8}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}

@media(max-width:1150px){
  .header-inner{grid-template-columns:auto minmax(0,1fr);gap:16px;padding-inline:22px}.account-area{grid-column:2;grid-row:1;}.primary-nav{grid-column:1/-1;grid-row:2;padding-bottom:2px}.app-header{position:static}.page-titlebar{padding-inline:22px}.main-content{padding-inline:22px}.settings-layout.has-system{grid-template-columns:1fr}
}
@media(max-width:720px){
  .header-inner{display:flex;flex-wrap:wrap;padding:10px 14px;gap:10px}.brand-horizontal{order:1}.account-area{order:2;margin-left:auto}.primary-nav{order:3;width:100%}.top-nav-item{padding:8px 10px}.account-copy{display:none}.logout-button span{display:none}.logout-button{width:38px;height:38px;padding:0}.page-titlebar{padding:18px 14px 0}.page-titlebar h1{font-size:21px}.superuser-badge span{display:none}.superuser-badge{padding:7px}.main-content{padding:18px 14px 34px}.system-sync-card{align-items:flex-start;flex-direction:column}.system-sync-card .btn{width:100%}
}


/* v4.2 - IBAN în lista facturilor */
.iban-cell{min-width:245px;max-width:330px}
.iban-primary{font-size:12px;font-weight:750;color:#0f172a;white-space:nowrap}
.iban-more{margin-top:5px}
.iban-more summary{display:inline-flex;align-items:center;cursor:pointer;color:var(--accent);font-size:11px;font-weight:750;list-style:none;user-select:none}
.iban-more summary::-webkit-details-marker{display:none}
.iban-more summary:hover{text-decoration:underline}
.iban-list{display:grid;gap:5px;margin-top:7px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#f8fafc;font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.iban-detail{max-width:65%;text-align:right;overflow-wrap:anywhere;font-size:12px}
@media(max-width:900px){.iban-cell{min-width:215px}.iban-detail{max-width:58%}}

/* v4.3 - Client Secret protejat de autofill */
.secret-setting{margin-top:8px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}
.secret-setting-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.secret-setting-head label{display:block;font-weight:750;margin-bottom:4px}
.secret-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:850;letter-spacing:.06em}.secret-status.configured{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.secret-status.missing{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}
.secret-change-toggle{display:inline-flex;align-items:center;gap:8px;margin-top:13px;font-size:12px;font-weight:750;cursor:pointer;color:#334155}.secret-change-toggle input{width:auto;margin:0;accent-color:var(--accent)}
.secret-input-wrap{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.secret-input-wrap small{display:block;margin-top:6px;line-height:1.4}
@media(max-width:720px){.secret-setting-head{flex-direction:column}.secret-status{align-self:flex-start}}

/* v4.4 - IBAN curat + plati rapide din lista */
.iban-cell{min-width:230px;max-width:290px}
.iban-line{display:flex;align-items:center;gap:6px;min-width:0;max-width:100%}
.iban-primary,.iban-line .mono{font-size:11.5px;font-weight:750;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.iban-copy{flex:0 0 auto;width:25px;height:25px;padding:0;border:1px solid #dbe3ee;border-radius:7px;background:#fff;color:#64748b;font-size:14px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:.15s ease}
.iban-copy:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;transform:none}
.iban-list .iban-line{justify-content:space-between}.iban-list .mono{font-weight:650}
.iban-detail{max-width:68%;display:grid;gap:6px;text-align:right}.iban-detail .iban-line{justify-content:flex-end}.iban-detail .mono{overflow:visible;text-overflow:clip}

.payment-actions-cell{min-width:205px}.quick-payment-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.quick-pay-full{margin:0}.quick-payment-actions .btn{font-size:11px;padding:7px 9px}.btn.paid-action{background:#16803c;color:#fff}.btn.paid-action:hover{background:#116b32}.paid-check{display:inline-flex;align-items:center;gap:6px;color:#15803d;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:9px;padding:7px 9px;font-size:11px;font-weight:800;white-space:nowrap}

.payment-dialog{width:min(520px,calc(100% - 28px));border:0;border-radius:18px;padding:0;background:transparent;box-shadow:0 28px 80px rgba(15,23,42,.24)}
.payment-dialog::backdrop{background:rgba(15,23,42,.48);backdrop-filter:blur(2px)}
.payment-dialog-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:20px;margin:0}
.payment-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.payment-dialog-head h3{font-size:20px;margin:2px 0 3px}.dialog-close{width:34px;height:34px;padding:0;border-radius:9px;background:#f8fafc;color:#64748b;border:1px solid #e2e8f0;font-size:22px;font-weight:400}.dialog-close:hover{background:#f1f5f9;color:#0f172a;transform:none}
.payment-dialog-balance{padding:11px 13px;border-radius:10px;background:#eff6ff;color:#334155;margin-bottom:14px;font-size:13px}.payment-dialog-balance strong{color:#0f172a}
.payment-dialog-fields{gap:12px}.payment-dialog-fields .form-row{margin-bottom:10px}.payment-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}

@media(max-width:1150px){.payment-actions-cell{min-width:185px}.quick-payment-actions{flex-direction:column;align-items:stretch}.quick-payment-actions .btn{width:100%}.iban-cell{min-width:215px}}
@media(max-width:720px){.payment-dialog-fields{grid-template-columns:1fr}.payment-dialog-actions{flex-direction:column-reverse}.payment-dialog-actions .btn{width:100%}.iban-detail{max-width:60%}}


/* v4.5 - copy rapid furnizor / factura / total */
.copy-field{display:flex;align-items:center;gap:7px;min-width:0}
.supplier-copy-field{justify-content:space-between;min-width:210px}
.supplier-copy-field .supplier-link{min-width:0;flex:1 1 auto}
.invoice-copy-field{min-width:125px}
.total-copy-field{justify-content:flex-end;min-width:130px}
.cell-copy{flex:0 0 auto;width:25px;height:25px;padding:0;border:1px solid #dbe3ee;border-radius:7px;background:#fff;color:#64748b;font-size:14px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}
.cell-copy:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;transform:none}
.cell-copy:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}
.iban-copy{width:25px;height:25px}
@media(max-width:1150px){.supplier-copy-field{min-width:190px}.invoice-copy-field{min-width:115px}.total-copy-field{min-width:120px}}


/* v4.6 - lista facturi mai compacta + denumiri plati clare */
.invoice-table{font-size:12.5px;table-layout:auto}
.invoice-table th{padding:9px 10px;font-size:9.5px;letter-spacing:.055em}
.invoice-table td{padding:8px 10px;line-height:1.28}
.invoice-table .supplier-name{font-size:12.5px;line-height:1.2}
.invoice-table .muted{font-size:10.5px;line-height:1.2;margin-top:2px}
.invoice-table .mono{font-size:10.8px}
.invoice-table .status-pill{padding:4px 7px;font-size:9.5px;gap:5px}
.invoice-table .status-pill::before{width:5px;height:5px}
.invoice-table .btn.small{padding:5px 7px;border-radius:7px;font-size:10px;gap:4px}
.invoice-table .cell-copy{width:22px;height:22px;border-radius:6px;font-size:12px}
.invoice-table .iban-copy{width:22px;height:22px}
.invoice-table .copy-field{gap:4px}
.invoice-table .supplier-copy-field{min-width:175px;max-width:215px}
.invoice-table .invoice-copy-field{min-width:100px;max-width:135px}
.invoice-table .total-copy-field{min-width:105px;gap:4px}
.invoice-table .iban-cell{min-width:185px;max-width:225px}
.invoice-table .iban-line{gap:4px}
.invoice-table .iban-primary,.invoice-table .iban-line .mono{font-size:10.2px}
.invoice-table .iban-more{margin-top:3px}
.invoice-table .iban-more summary{font-size:9.5px}
.invoice-table .payment-actions-cell{min-width:190px;width:190px}
.invoice-table .quick-payment-actions{display:flex;align-items:center;gap:5px;flex-wrap:nowrap}
.invoice-table .quick-pay-full{display:inline-flex;flex:0 0 auto}
.invoice-table .quick-payment-actions .btn{width:auto!important;padding:5px 7px;font-size:9.7px;line-height:1.15}
.invoice-table .paid-check{padding:5px 7px;font-size:10px;border-radius:7px}
.invoice-table td:last-child .btn{padding-inline:7px}

@media(max-width:1250px){
  .invoice-table .supplier-copy-field{min-width:160px;max-width:190px}
  .invoice-table .iban-cell{min-width:175px;max-width:205px}
  .invoice-table .payment-actions-cell{min-width:180px;width:180px}
  .invoice-table .quick-payment-actions .btn{padding-inline:6px;font-size:9.3px}
}

/* v4.7 - lizibilitate numar factura si IBAN, fara a mari randurile */
.invoice-table .invoice-copy-field .mono{
  font-size:11.8px;
  font-weight:750;
  letter-spacing:.01em;
}
.invoice-table .iban-primary,
.invoice-table .iban-line .mono{
  font-size:11.4px;
  font-weight:750;
  letter-spacing:.005em;
}

/* v4.9 - selector interval sincronizare ANAF */
.sync-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.65fr);gap:18px;align-items:start}
.sync-period-card,.sync-info-card{margin-bottom:0}
.sync-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sync-choice{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fbfdff;cursor:pointer;transition:.15s ease;min-width:0}
.sync-choice:hover{border-color:#b9c8da;background:#fff}
.sync-choice:has(input:checked){border-color:#93c5fd;background:#eff6ff;box-shadow:0 0 0 2px rgba(59,130,246,.07)}
.sync-choice input{width:auto;margin:3px 0 0;accent-color:var(--accent);flex:0 0 auto}
.sync-choice span{display:block;min-width:0}.sync-choice strong{display:block;font-size:13px}.sync-choice small{display:block;color:var(--muted);font-size:11px;line-height:1.4;margin-top:3px}
.sync-choice-custom{grid-column:1/-1}
.sync-custom-range{display:grid;grid-template-columns:minmax(170px,1fr) auto minmax(170px,1fr);gap:12px;align-items:end;margin-top:14px;padding:14px;border:1px dashed #bfdbfe;border-radius:12px;background:#f8fbff}
.sync-custom-range[hidden]{display:none!important}.sync-custom-range .form-row{margin:0}.range-arrow{padding-bottom:10px;color:#64748b;font-weight:800}
.sync-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.sync-limit-note{font-size:11px;line-height:1.5;color:var(--muted);max-width:620px}.sync-run-button{flex:0 0 auto}
.sync-info-card h3{margin:4px 0 15px}.sync-info-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px dashed #e2e8f0;font-size:12px}.sync-info-row span{color:var(--muted)}.sync-info-row strong{text-align:right}.sync-info-foot{margin:14px 0 0;line-height:1.5}
@media(max-width:900px){.sync-layout{grid-template-columns:1fr}.sync-info-card{order:2}}
@media(max-width:620px){.sync-preset-grid{grid-template-columns:1fr}.sync-choice-custom{grid-column:auto}.sync-custom-range{grid-template-columns:1fr}.range-arrow{display:none}.sync-actions{align-items:stretch;flex-direction:column}.sync-run-button{width:100%}}

/* v5.0 — Bank statements / other transactions */
.transaction-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.toolbar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form{display:inline-flex;margin:0}.segmented{display:inline-flex;background:var(--surface-2,#f5f7fb);border:1px solid var(--border,#e5e7eb);border-radius:10px;padding:3px;gap:2px}.segmented a{padding:7px 11px;border-radius:7px;text-decoration:none;color:var(--muted,#667085);font-size:13px;font-weight:650}.segmented a.active{background:#fff;color:var(--text,#101828);box-shadow:0 1px 2px rgba(16,24,40,.08)}
.bank-import-layout,.summary-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:14px;margin-bottom:14px}.bank-format-card{align-self:start}.feature-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}.feature-list li{display:flex;flex-direction:column;gap:2px;padding-bottom:9px;border-bottom:1px solid var(--border,#eaecf0)}.feature-list li:last-child{border-bottom:0}.feature-list span{font-size:12px;color:var(--muted,#667085)}
.mapping-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.preview-table{max-height:260px;margin-top:12px}.preview-table td,.preview-table th{white-space:nowrap;font-size:12px}.bank-map-card{margin-bottom:14px}
.mini-summary-list{display:grid;gap:0;margin-top:8px}.mini-summary-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border,#eaecf0)}.mini-summary-list>div:last-child{border-bottom:0}.mini-summary-list span,.mini-summary-list strong{min-width:0}.mini-summary-list span{display:flex;flex-direction:column;font-size:12px;overflow-wrap:anywhere}.mini-summary-list span small,.mini-summary-list strong small{font-weight:500;color:var(--muted,#667085);font-size:11px}.mini-summary-list strong{text-align:right;font-size:13px}
.bank-transactions-table td{vertical-align:middle}.bank-transactions-table .iban-cell{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;max-width:145px;overflow-wrap:anywhere}.tx-description{max-width:300px;font-size:12px;line-height:1.35;color:var(--muted,#475467)}.cell-sub{display:block;margin-top:2px;font-size:11px;color:var(--muted,#98a2b3);font-weight:500}.direction-badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:700}.direction-badge.debit{background:#fff1f0;color:#b42318}.direction-badge.credit{background:#ecfdf3;color:#027a48}.btn.tiny{padding:5px 8px;font-size:11px;white-space:nowrap}
.transaction-focus{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.transaction-focus h3{margin:3px 0 5px}.transaction-focus p{margin:0;color:var(--muted,#667085);font-size:13px;max-width:750px}.transaction-amount{text-align:right;display:flex;flex-direction:column;gap:3px}.transaction-amount strong{font-size:22px}.transaction-amount span{font-size:12px;color:var(--muted,#667085)}.match-score{display:inline-flex;padding:3px 6px;border-radius:6px;background:#eef4ff;color:#3538cd;font-size:11px;font-weight:750}.inline-allocation{display:flex;gap:5px;align-items:center}.inline-allocation input{width:95px;min-width:80px;padding:6px 7px;font-size:12px}.inline-allocation button{padding:6px 8px;font-size:11px}.empty-state{text-align:center;color:var(--muted,#667085);padding:24px!important}.compact-filters{margin-bottom:12px}
@media(max-width:1000px){.mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-split,.bank-import-layout{grid-template-columns:1fr}}@media(max-width:640px){.mapping-grid{grid-template-columns:1fr}.transaction-focus{flex-direction:column}.transaction-amount{text-align:left}.segmented{width:100%;overflow-x:auto}.segmented a{white-space:nowrap}.toolbar-actions{width:100%}}

/* v5.4 — reconciliere POS / explicabilitate */
.tx-meta-line{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:7px;font-size:11px;color:var(--muted,#667085)}
.tx-meta-line span{display:inline-flex;align-items:center;gap:4px}
.pos-info-note{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px;padding-top:11px;padding-bottom:11px}
.pos-info-note strong{white-space:nowrap;font-size:12px}.pos-info-note span{font-size:12px;line-height:1.45;color:var(--muted,#667085)}
.match-method{display:inline-flex;align-items:center;padding:3px 6px;border-radius:6px;background:#f2f4f7;color:#344054;font-size:11px;font-weight:700;white-space:nowrap}
@media(max-width:700px){.pos-info-note{flex-direction:column}.pos-info-note strong{white-space:normal}}

/* v5.7 — indicatori coerenti + registru bancar compact */
.dashboard-period-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.dashboard-period-bar>div:first-child{display:flex;flex-direction:column;gap:2px}.dashboard-period-bar strong{font-size:12px}.dashboard-period-bar .muted{font-size:10.5px}
.dashboard-period-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dashboard-period-controls{display:flex;flex-direction:row;align-items:center;gap:6px;max-width:none}.dashboard-period-controls select{width:auto;max-width:160px}.dashboard-period-controls .month-input{width:145px}.dashboard-period-controls .metric-custom-dates{width:auto}

.own-accounts-detected{margin-bottom:12px}.own-accounts-detected .section-head{margin-bottom:0}.own-accounts-detected h3{margin:0}
.compact-summary-list{margin-top:5px}.compact-summary-list>div{padding:6px 0}.compact-summary-list span{font-size:11.5px}.compact-summary-list strong{font-size:12px}.compact-summary-list span small,.compact-summary-list strong small{font-size:10px}
.bank-summary-split{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);align-items:start}.bank-account-summary,.beneficiary-summary-card{padding:14px}.bank-account-summary h3,.beneficiary-summary-card h3{margin:2px 0 0;font-size:15px}.summary-out{display:block;font-weight:750}
.beneficiary-head{margin-bottom:7px}.beneficiary-period-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:7px 0 8px;border-bottom:1px solid var(--line)}.beneficiary-period-form select,.beneficiary-period-form input{width:auto;min-width:0;height:30px;min-height:30px;padding:4px 7px;font-size:11px}.beneficiary-period-form select{min-width:82px}.beneficiary-period-form input[type=month]{width:132px}.beneficiary-period-form input[type=number]{width:82px}.benef-custom{display:flex;align-items:center;gap:4px}.benef-custom input{width:118px}.beneficiary-period-form [hidden],.benef-custom[hidden]{display:none!important}
.beneficiary-scroll{max-height:285px;overflow-y:auto;padding-right:4px;scrollbar-gutter:stable}.beneficiary-scroll::-webkit-scrollbar{width:8px}.beneficiary-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}.beneficiary-scroll::-webkit-scrollbar-track{background:#f8fafc}.empty-mini{padding:14px 0!important;color:var(--muted);font-size:11px;border-bottom:0!important}
.registry-head{align-items:center}.flow-segmented a{min-width:72px;text-align:center}.registry-card{margin-top:2px}

@media(max-width:1000px){.bank-summary-split{grid-template-columns:1fr}.dashboard-period-bar{align-items:flex-start;flex-direction:column}.dashboard-period-actions{justify-content:flex-start}.dashboard-period-controls{align-items:flex-start}}
@media(max-width:680px){.dashboard-period-actions,.dashboard-period-controls{width:100%;flex-direction:column;align-items:stretch}.dashboard-period-controls select,.dashboard-period-controls .month-input{width:100%;max-width:none}.dashboard-period-controls .metric-custom-dates{width:100%}.beneficiary-period-form{align-items:stretch}.beneficiary-period-form select,.beneficiary-period-form input,.benef-custom{width:100%}.benef-custom input{flex:1}.registry-head{align-items:flex-start;flex-direction:column}.flow-segmented{width:auto}}


/* Branding SAFE — adăugat peste structura funcțională v5.7, fără schimbări de layout ANAF */
.brand-horizontal .brand-mark-image{width:118px;height:52px;min-width:118px;max-width:118px;max-height:52px;flex:0 0 118px;padding:3px;background:#fff;border:1px solid #e2e8f0;box-shadow:none;overflow:hidden}
.brand-logo{display:block;width:100%;height:100%;object-fit:contain}
.brand-horizontal .brand-logo-header{border-radius:8px}
.auth-wrap{width:min(520px,100%)}
.auth-brand .brand-mark-image{width:min(450px,100%);height:225px;margin:0 auto 14px;padding:8px;background:transparent;box-shadow:none;border:0;border-radius:18px;overflow:hidden}
.auth-brand .brand-logo-login{object-fit:contain;border-radius:14px}
.app-credit-footer{text-align:center;color:#94a3b8;font-size:11px;line-height:1.4;padding:14px 16px 18px}
.auth-wrap>.app-credit-footer{padding-top:16px;padding-bottom:0}
.branding-settings-form{margin-bottom:18px}
.branding-card-safe{padding:18px}
.branding-safe-grid{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(320px,1.35fr);gap:22px;align-items:center;margin-top:12px}
.branding-safe-preview{text-align:center;min-width:0}
.branding-safe-preview-box{width:100%;height:150px;display:flex;align-items:center;justify-content:center;padding:10px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;margin-bottom:6px;overflow:hidden}
.branding-safe-preview-box .brand-mark-image{width:100%;height:100%;max-width:300px;max-height:150px;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.branding-safe-preview-box .brand-mark:not(.brand-mark-image){width:72px;height:72px;margin:0 auto}
.branding-safe-fields{min-width:0}
.branding-safe-actions{display:flex;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.remove-logo-toggle{margin-top:6px}
@media(max-width:820px){.branding-safe-grid{grid-template-columns:1fr}.branding-safe-preview-box{height:130px}.brand-horizontal .brand-mark-image{width:96px;height:44px;min-width:96px;max-width:96px;max-height:44px;flex-basis:96px}}
@media(max-width:560px){.auth-brand .brand-mark-image{height:min(225px,46vw)}.brand-horizontal .brand-mark-image{width:74px;height:38px;min-width:74px;max-width:74px;max-height:38px;flex-basis:74px}.branding-safe-actions button{width:100%}}

/* v5.8.2 — păstrează dimensiunea logo-ului din v5.8 SAFE și îl ridică ușor în antet */
.brand-horizontal .brand-mark-image{
  position:relative;
  top:-5px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.brand-horizontal .brand-mark-image .brand-logo-header{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  margin:0;
  object-fit:contain;
  object-position:center center;
  transform:none;
}

/* v5.8.3 — logo mai mare în antet; păstrează poziția ridicată din v5.8.2 */
.brand-horizontal .brand-mark-image{
  width:165px;
  height:72px;
  min-width:165px;
  max-width:165px;
  max-height:72px;
  flex:0 0 165px;
  top:-5px;
}
@media(max-width:820px){
  .brand-horizontal .brand-mark-image{
    width:132px;
    height:58px;
    min-width:132px;
    max-width:132px;
    max-height:58px;
    flex-basis:132px;
  }
}
@media(max-width:560px){
  .brand-horizontal .brand-mark-image{
    width:100px;
    height:46px;
    min-width:100px;
    max-width:100px;
    max-height:46px;
    flex-basis:100px;
  }
}
