:root{
  --bg:#f6f8fa;
  --sidebar:#00A1E4; /* azzurro chiaro simile a KLM */
  --accent:#2563eb;
  --muted:#6b7280;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,Arial,Helvetica,sans-serif;background:var(--bg);color:#111}
.app{display:flex;height:100vh}
.sidebar{width:220px;background:var(--sidebar);color:#fff;padding:12px;transition:width .2s;border-right:1px solid rgba(255,255,255,0.08);box-shadow:0 6px 24px rgba(0,161,228,0.18)}
.brand{display:flex;align-items:center;justify-content:center;padding:8px 0}
.brand img{max-width:160px;height:auto;display:block;margin-bottom:8px}
.sidebar .toggle{background:transparent;border:none;color:#fff;font-size:18px;margin-bottom:8px;cursor:pointer}
.sidebar nav{display:flex;flex-direction:column;gap:6px}
.nav-item{display:flex;gap:10px;align-items:center;padding:8px;border-radius:6px;color:#e6eef8;text-decoration:none}
.nav-item:hover{background:rgba(255,255,255,0.05)}
.nav-item .icon{font-size:18px}
.nav-item .label{font-size:14px}
.main{flex:1;display:flex;flex-direction:column}
.topbar{padding:12px 20px;border-bottom:1px solid rgba(0,0,0,0.06);background:white}
.content{padding:20px;overflow:auto}
.flashwrap{margin-bottom:12px}
.flash{padding:8px 12px;border-radius:6px}
.flash.success{background:#e6ffed;color:#064e3b}
.flash.warning{background:#fff7e6;color:#78350f}
.flash.danger{background:#ffe6e6;color:#7a1f1f}

/* collapsed */
.sidebar.collapsed{width:64px}
.sidebar.collapsed .label{display:none}
.sidebar.collapsed .nav-item{justify-content:center}

@media (max-width:800px){
  .sidebar{position:fixed;z-index:40;height:100%;left:0;top:0;width:64px}
  .sidebar .label{display:none}
  .sidebar .nav-item{justify-content:center}
  .main{margin-left:64px}
}