/* Layout shell — .df-shell, .df-sidebar, .df-page, .df-page-header. Depinde de tokens.css. */
/* === Body base — comun tuturor paginilor shell === */
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--df-font-sans);
  background: var(--df-bg);
  color: var(--df-text);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* Form elements moștenesc font-family din body (user-agent default NU propagă) */
button,input,select,textarea{font-family:inherit;}
/* === Shell enterprise layout === */
.df-shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh;align-items:start;}
.df-sidebar{background:var(--df-bg-elevated);border-right:1px solid var(--df-border);display:flex;flex-direction:column;padding:20px 0 16px;position:sticky;top:0;align-self:stretch;max-height:100vh;overflow-y:auto;overflow-x:hidden;}
.df-sidebar-brand{display:flex;align-items:center;justify-content:center;padding:8px 6px 14px;}
.df-sidebar-brand img{width:100%;height:auto;max-height:85px;object-fit:contain;}
.df-nav-label{font-size:.62rem;color:var(--df-text-5);font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:10px 18px 4px;}
.df-nav-group{display:flex;flex-direction:column;gap:0;padding:0 10px 2px;}
.df-nav-item,.df-nav-item:link,.df-nav-item:visited{display:flex;align-items:center;gap:10px;padding:7px 12px;border:none;background:transparent;color:var(--df-text-3);font-size:.8rem;font-weight:500;border-radius:var(--df-radius-md);cursor:pointer;text-align:left;font-family:inherit;transition:background .15s,color .15s;position:relative;width:100%;}
.df-nav-item:hover,.df-nav-item:link:hover,.df-nav-item:visited:hover{background:rgba(255,255,255,.04);color:var(--df-text);}
.df-nav-item.active,.df-nav-item:link.active,.df-nav-item:visited.active{background:var(--df-primary-bg);color:var(--df-text);}
.df-nav-item.active::before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 2px 2px 0;background:var(--df-primary);}
/* === Page header & body === */
.df-page{display:flex;flex-direction:column;min-width:0;}
.df-page-header{padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--df-border);background:var(--df-bg);flex-wrap:wrap;max-width:1600px;width:100%;margin:0 auto;box-sizing:border-box;min-height:84px;}
.df-page-titles h1{font-size:1.35rem;font-weight:600;color:var(--df-text);margin:0 0 4px;letter-spacing:-.01em;}
.df-page-titles p{font-size:.8rem;color:var(--df-text-3);max-width:640px;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;}
.df-page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.df-page-body{padding:26px 32px 60px;max-width:1600px;width:100%;margin:0 auto;}

/* Override max-width constraint on existing <main> when inside df-page */
.df-page main:not(.df-page-body){max-width:unset;margin:0;padding:0;}

/* === KPI cards dashboard — TOP-LEVEL, în afara oricărui @media === */
.df-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:24px;}
.df-kpi-card{background:var(--df-surface);border:1px solid var(--df-border);border-radius:var(--df-radius-xl);padding:18px 20px;}
.df-kpi-label{font-size:.72rem;color:var(--df-text-3);font-weight:600;letter-spacing:.08em;text-transform:uppercase;}
.df-kpi-value{font-size:1.75rem;font-weight:600;color:var(--df-text);margin-top:10px;letter-spacing:-.02em;}
.df-kpi-sub{font-size:.75rem;color:var(--df-text-4);margin-top:6px;}

/* === SVG nav icons (Lucide-style stroke, culoare currentColor) === */
.df-nav-icon{width:16px;height:16px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}

/* === Sidebar nav link extern (<a>) — same style ca <button> === */
.df-nav-item a,a.df-nav-item{text-decoration:none;}

/* === User menu în page-header (avatar + dropdown) === */
.df-user-menu{position:relative;}
.df-user-trigger{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;background:rgba(255,255,255,.03);border:1px solid var(--df-border);border-radius:999px;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s;}
.df-user-trigger:hover{background:rgba(255,255,255,.06);border-color:var(--df-border-hover);}
.df-user-trigger-avatar{width:30px;height:30px;border-radius:50%;background:var(--df-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:600;flex-shrink:0;}
.df-user-trigger-info{display:flex;flex-direction:column;line-height:1.25;text-align:left;min-width:0;}
.df-user-trigger-name{font-size:.78rem;color:var(--df-text);font-weight:500;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.df-user-trigger-role{font-size:.66rem;color:var(--df-text-4);}
.df-user-trigger-chevron{width:14px;height:14px;stroke:var(--df-text-3);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;margin-right:4px;transition:transform .15s;}
.df-user-menu.open .df-user-trigger-chevron{transform:rotate(180deg);}

.df-user-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background:var(--df-surface);border:1px solid var(--df-border-2);border-radius:var(--df-radius-md);box-shadow:0 8px 24px rgba(0,0,0,.4);padding:6px;display:none;z-index:90;}
.df-user-menu.open .df-user-dropdown{display:block;}
.df-user-dropdown button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:var(--df-radius-sm);color:var(--df-text-2);font-size:.82rem;font-weight:500;cursor:pointer;text-align:left;font-family:inherit;transition:background .15s,color .15s;}
.df-user-dropdown button:hover{background:rgba(255,255,255,.05);color:var(--df-text);}
.df-user-dropdown button.danger{color:#fca5a5;}
.df-user-dropdown button.danger:hover{background:rgba(239,68,68,.12);color:#fecaca;}
.df-user-dropdown button svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.df-user-dropdown-divider{height:1px;background:var(--df-border);margin:4px 6px;}

/* === Responsive — sidebar colapsează pe mobil === */
@media (max-width:960px){
  .df-shell{grid-template-columns:1fr;}
  .df-sidebar{position:static;max-height:none;border-right:none;border-bottom:1px solid var(--df-border);}
  .df-sidebar-footer{display:none;}
  .df-page-header{padding:16px 20px;}
  .df-page-body{padding:20px 20px 40px;}
}
