:root{
  --teal:#0f6c74;--teal-2:#0c585f;--bg:#f2f6f8;--card:#fff;--surface:#fff;--border:#e2e8f0;--text:#0f172a;--muted:#64748b;--radius:10px;--shadow:0 8px 20px rgba(0,0,0,.06)
}

.manual-header-row {
  display: grid;
  grid-template-columns: 50px 180px 140px 160px 100px; /* Adjusted column sizes */
  align-items: center;
  gap: 16px;
  font-weight: 600;
  color: var(--muted);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:linear-gradient(135deg,#e9f4f6,#d9ebef)}
.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:32px 16px 48px}
.brand{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:18px}
.brand img{height:60px;width:auto}
.brand-title{font-weight:700;letter-spacing:.4px}
.brand-sub{color:var(--muted)}
.login-wrap{width:100%;max-width:960px;display:grid;grid-template-columns:1fr 1fr;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.visual{position:relative;background:#eef6f8;display:flex;align-items:center;justify-content:center}
.visual img{width:100%;height:100%;object-fit:cover}
.form{padding:32px 28px;background:var(--card)}
.form h2{margin:0 0 4px;font-size:20px;font-weight:700}
.form .sub{color:var(--muted);margin-bottom:18px}
.error{background:#fee2e2;color:#7f1d1d;border:1px solid #fca5a5;border-radius:8px;padding:8px 10px;margin-bottom:12px}
.field{margin-bottom:14px}
.label{font-size:14px;margin-bottom:8px;color:var(--text)}
.input{width:100%;padding:12px 14px;border:1px solid #d7dee3;border-radius:8px;outline:none;font-size:14px;transition:border-color .2s ease}
.input::placeholder{color:#9aa6b2}
.input:focus{border-color:#99c2c7;box-shadow:0 0 0 3px rgba(15,108,116,.12)}
.remember{display:flex;align-items:center;gap:10px;margin:8px 0 14px;color:var(--text);font-size:14px}
.btn{width:100%;padding:12px 16px;border:none;border-radius:8px;background:var(--teal);color:#fff;font-weight:600;cursor:pointer;transition:background .2s ease,transform .02s ease}
.btn:hover{background:var(--teal-2)}
.btn:active{transform:translateY(1px)}
.page > section.login-wrap > form.form > button.btn[type="submit"]{background:#0ea5e9}
.footer{
  margin-top:auto;
  padding:18px 24px 24px;
  color:var(--muted);
  font-size:13px;
  text-align:center;
  flex-shrink:0;
}
@media(max-width:880px){.login-wrap{grid-template-columns:1fr;max-width:560px}.visual{height:220px}}

/* Layout */
.layout{display:flex;height:100vh;background:var(--app-bg)}
.sidebar{width:240px;background:var(--teal);color:#e7f7f8;display:flex;flex-direction:column;height:100vh;overflow:hidden;position:sticky;top:0}
.sidebar.collapsed{width:68px}
.sidebar.collapsed .section-label{display:none}
.sidebar.collapsed .dropdown-parent{justify-content:center;padding:12px}
.sidebar.collapsed .dropdown .text{display:none}
.sidebar.collapsed .dropdown .arrow{display:none}
.sidebar.collapsed .dropdown-link{justify-content:center}
.sidebar.collapsed .submenu{display:none !important}
.sidebar.collapsed .menu .item{overflow:hidden;white-space:nowrap;text-overflow:clip;padding:12px 0;display:flex;justify-content:center}
.side-top{display:flex;align-items:center;gap:8px;padding:12px 12px;border-bottom:1px solid rgba(15,23,42,.08);background:#eef6fb}
.logo{height:64px}
.toggle{margin-left:auto;background:transparent;border:none;border-radius:0;width:44px;height:44px;padding:0;cursor:pointer;display:grid;place-items:center;flex:0 0 auto;font-size:0;line-height:0;color:transparent;position:relative;-webkit-tap-highlight-color:transparent}
.toggle::before{content:"";width:18px;height:2px;background:#0b0b0b;border-radius:999px;box-shadow:0 -6px 0 #0b0b0b,0 6px 0 #0b0b0b;pointer-events:none}
.toggle:hover{background:rgba(255,255,255,.10)}
.toggle:active{transform:translateY(1px)}
.toggle:focus-visible{outline:3px solid rgba(255,255,255,.28);outline-offset:2px}
.sidebar.collapsed .logo{display:none}
.sidebar.collapsed .side-top{justify-content:center}
.menu{display:flex;flex-direction:column;padding:8px;flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.4) transparent;background:#eef6fb}
.sidebar.collapsed .menu{overflow-y:auto}
.sidebar.collapsed .menu .item .text{display:none}
.menu .item{color:#0f172a;text-decoration:none;padding:10px 12px;border-radius:8px;font-size:13px;display:flex;align-items:center;gap:8px}
.menu .item:hover,.menu .item.active{background:rgba(15,23,42,.08)}
.menu .item .icon{display:inline-flex}
.menu .item .text{flex:1}
.section-label{padding:10px 12px;color:#000000;font-weight:700;letter-spacing:.6px;opacity:.9;font-size:12px}
.dropdown{margin:4px 0}
.dropdown-parent{width:100%;display:flex;align-items:center;gap:8px;color:#0f172a;background:transparent;border:none;padding:10px 12px;border-radius:8px;cursor:pointer;text-align:left;font-size:13px}
.dropdown-parent:hover{background:rgba(15,23,42,.08)}
.dropdown-link{display:flex;align-items:center;gap:8px;flex:1;min-width:0;color:inherit;text-decoration:none}
.dropdown-caret{background:transparent;border:none;padding:0 2px;line-height:1;color:inherit;cursor:pointer}
.dropdown .icon{display:inline-flex}
.sidebar .menu svg{stroke:#000000;fill:none}
.sidebar .menu svg path{stroke:#000000;fill:none}
.dropdown .text{flex:1}
.dropdown .arrow{transition:transform .15s ease}
.dropdown.open .arrow{transform:rotate(180deg)}
.submenu{display:none;flex-direction:column;padding-left:24px}
.dropdown.open .submenu{display:flex}
.submenu .child{color:#0f172a;padding:8px 12px;border-radius:8px;text-decoration:none;font-size:13px}
.submenu .child:hover{background:rgba(15,23,42,.08)}
.sub-dropdown{margin:4px 0 4px 8px}
.sub-parent{width:100%;display:flex;align-items:center;color:#e7f7f8;background:transparent;border:none;padding:8px 12px;border-radius:8px;cursor:pointer;text-align:left;font-size:14px}
.sub-parent:hover{background:rgba(255,255,255,.12)}
.sub-parent.black{background:transparent;color:inherit}
.sub-parent.black .text{color:#000000}
.sub-parent.black .arrow{color:inherit}
.sub-parent.black:hover{background:transparent}
.sub-dropdown .arrow{margin-left:auto;transition:transform .15s ease}
.sub-dropdown.open .arrow{transform:rotate(180deg)}
.sub-submenu{display:none;flex-direction:column;padding-left:16px}
.sub-dropdown.open .sub-submenu{display:flex}
.side-footer{margin-top:auto;padding:12px;font-size:12px;color:#cde5e9}
.content{flex:1;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#0ea5e9 #e5e7eb}

.content,
.content *,
.settings-body,
.settings-body *{
  scrollbar-width:thin;
  scrollbar-color:#0ea5e9 #e5e7eb;
}
.content::-webkit-scrollbar,
.content *::-webkit-scrollbar,
.settings-body::-webkit-scrollbar,
.settings-body *::-webkit-scrollbar{
  width:10px;
  height:10px;
}
.content::-webkit-scrollbar-track,
.content *::-webkit-scrollbar-track,
.settings-body::-webkit-scrollbar-track,
.settings-body *::-webkit-scrollbar-track{
  background:#e5e7eb;
  border-radius:999px;
}
.content::-webkit-scrollbar-thumb,
.content *::-webkit-scrollbar-thumb,
.settings-body::-webkit-scrollbar-thumb,
.settings-body *::-webkit-scrollbar-thumb{
  background:#0ea5e9;
  border-radius:999px;
  border:2px solid #e5e7eb;
}
.content::-webkit-scrollbar-thumb:hover,
.content *::-webkit-scrollbar-thumb:hover,
.settings-body::-webkit-scrollbar-thumb:hover,
.settings-body *::-webkit-scrollbar-thumb:hover{
  background:#0284c7;
}
.topbar{height:56px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #e6edf1}
.topbar .title{font-weight:600}
.actions{display:flex;align-items:center;gap:10px}
.search{width:260px;padding:8px 12px;border:1px solid #d7dee3;border-radius:8px}
.icons button{background:#fff;border:1px solid #d7dee3;border-radius:8px;padding:6px 10px;cursor:pointer}
.icons a.lang{background:#fff;border:1px solid #d7dee3;border-radius:8px;padding:6px 10px;cursor:pointer;text-decoration:none;color:inherit}
[data-theme="dark"] .icons button,[data-theme="dark"] .icons a.lang{background:var(--surface);border-color:#334155;color:var(--text)}
.lang-dropdown{position:relative;display:inline-block}
.lang-toggle{background:#fff;border:1px solid #d7dee3;border-radius:8px;padding:6px 10px;cursor:pointer}
.lang-menu{position:absolute;right:0;top:120%;min-width:180px;background:#fff;border:1px solid #e6edf1;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.08);padding:8px;display:none;z-index:50}
.lang-dropdown.open .lang-menu{display:block}
.lang-menu a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;text-decoration:none;color:#0f172a}
.lang-menu a:hover{background:#f4f7f9}

.hover-tip{
  position:fixed;
  background:var(--teal);
  color:#ffffff;
  padding:8px 10px;
  border-radius:8px;
  font-size:12px;
  pointer-events:none;
  z-index:9999;
  white-space:nowrap;
  box-shadow:0 4px 12px rgba(0,0,0,0.1);
  display:none;
}

/* Settings Drawer */
.modal-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.4);
  z-index: 1001;
  display: none;
  opacity: 0;
  transition: opacity 0.3s;
}
.modal-overlay.open {
  display: block;
  opacity: 1;
}

.settings-drawer {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: 300px;
  background: #fff;
  z-index: 1002;
  box-shadow: -4px 0 20px rgba(0,0,0,0.1);
  transform: translateX(100%);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
}
.settings-drawer.open {
  transform: translateX(0);
}
.settings-head {
  padding: 16px;
  border-bottom: 1px solid #e6edf1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 600;
  font-size: 16px;
}
.settings-head button {
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  color: var(--muted);
}
.settings-body {
  padding: 16px;
  flex: 1;
  overflow-y: auto;
}

/* DataTables Buttons Customization */
.dt-buttons .dt-button {
  background: #e0f2fe !important;
  color: #0369a1 !important;
  border: 1px solid #bae6fd !important;
  border-radius: 6px !important;
  padding: 8px 10px !important;
  cursor: pointer !important;
}
.dt-buttons .dt-button:hover {
  background: #bae6fd !important;
}

.manual-cards{margin-bottom:24px}
.manual-wrap{display:flex;gap:24px;width:100%;}
.manual-left{width:260px;flex-shrink:0;display:flex;flex-direction:column;gap:16px}
.manual-right{flex:1;background:var(--card);border-radius:var(--radius);box-shadow:0 1px 3px rgba(0,0,0,.05);padding:16px;display:flex;flex-direction:column;width:100%;min-width:0;}
.manual-create{background:var(--card);border-radius:var(--radius);box-shadow:0 1px 3px rgba(0,0,0,.05);padding:16px;text-align:center}
.manual-create-title{font-weight:600;margin-bottom:12px;color:var(--text)}
.manual-create-btn{display:inline-block;width:100%;background:#0ea5e9;color:#fff;text-decoration:none;padding:10px;border-radius:8px;font-weight:500;transition:background .2s}
.manual-create-btn:hover{background:#0284c7}
.manual-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.manual-tools{display:flex;gap:8px}
.manual-tool{background:#0ea5e9;border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:13px;color:#fff}
.manual-tool:hover{background:#0284c7}
.manual-search{display:flex;align-items:center;gap:8px}
.manual-search span{font-size:13px;color:var(--muted)}
.manual-search input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;width:200px}
.manual-table-wrap{flex:1;overflow:auto}
.manual-table{width:100%;border-collapse:collapse;font-size:14px}
.manual-table th{text-align:left;padding:10px;background:#f8fafc;border-bottom:1px solid var(--border);font-weight:600;color:#475569}
.manual-table td{padding:10px;border-bottom:1px solid var(--border);color:#334155}
.manual-snap-table td{padding:0;border-bottom:none}
.manual-snap-table .manual-toolbar{margin-bottom:0}
.manual-snap-table .manual-search{justify-content:flex-end;white-space:nowrap}
.manual-snap-table .manual-search input{width:140px}
.manual-header-row{display:flex;justify-content:space-between;padding:12px;border-top:1px solid #e5e7eb;font-weight:600;color:#374151;background:#fff}
.manual-header-row div{flex:1;display:flex;justify-content:space-between;align-items:center;padding-right:12px}
.manual-action-btn{border:none;background:transparent;cursor:pointer;font-size:16px;margin-right:6px;color:var(--muted)}
.manual-action-btn:hover{color:var(--text)}
.settings-section {
  margin-top: 24px;
  border-top: 1px solid #e6edf1;
  padding-top: 24px;
}
.seg {
  display: flex;
  background: #f1f5f9;
  padding: 4px;
  border-radius: 8px;
  gap: 4px;
}
.seg button {
  flex: 1;
  border: none;
  background: transparent;
  padding: 6px;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
  color: var(--muted);
}
.seg button.active {
  background: #fff;
  color: var(--text);
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.toggle-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  cursor: pointer;
}
.toggle {
  width: 16px;
  height: 16px;
}

/* Cards Grid (Dashboard) */
.cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  padding: 24px;
}
.card {
  background: var(--card);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 20px;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.card-head {
  margin-bottom: 12px;
}
.card-title {
  color: var(--muted);
  font-size: 14px;
  margin-bottom: 6px;
}
.card-value {
  font-size: 24px;
  font-weight: 700;
  color: var(--text);
}
.card-value .unit {
  font-size: 14px;
  font-weight: 400;
  color: var(--muted);
  margin-left: 4px;
}
.readmore {
  margin-top: auto;
  font-size: 13px;
  color: var(--teal);
  text-decoration: none;
  font-weight: 500;
}

/* Mobile Menu Button */
.mobile-menu-btn {
  display: none;
  background: transparent;
  border: none;
  font-size: 20px;
  cursor: pointer;
  margin-right: 12px;
  padding: 4px;
}

/* Responsive Styles */
@media (max-width: 768px) {
  .mobile-menu-btn {
    display: block;
  }
  
  .sidebar {
    position: fixed;
    z-index: 1000;
    left: 0; top: 0; bottom: 0;
    width: 240px;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
  }
  
  /* Inverted Collapsed Logic for Mobile:
     No class (Default) -> Hidden (-100%)
     .collapsed (Toggled) -> Visible (0)
  */
  .sidebar.collapsed {
    transform: translateX(0);
    width: 240px !important;
  }
  
  /* Reset some collapsed internal styles so it looks like full sidebar when visible */
  .sidebar.collapsed .section-label,
  .sidebar.collapsed .dropdown .text,
  .sidebar.collapsed .dropdown .arrow,
  .sidebar.collapsed .logo {
    display: block !important;
  }
  .sidebar.collapsed .dropdown-parent {
    justify-content: flex-start !important;
  }
  .sidebar.collapsed .submenu {
    display: none; /* Let dropdown logic handle open/close */
  }
  .sidebar.collapsed .dropdown.open .submenu {
    display: flex !important;
  }
  .sidebar.collapsed .side-top {
    justify-content: space-between !important; /* Show toggle button */
  }
  
  /* Layout adjustments */
  .layout {
    display: block;
  }
  .content {
    margin-left: 0;
    width: 100%;
  }
  
  /* Topbar */
  .topbar {
    padding: 0 10px;
  }
  .search {
    width: 120px;
  }
  .title {
    font-size: 16px;
  }
  
  /* Hide less important icons */
  .icons button[title="Fullscreen"], 
  .icons button[title="Layout"],
  .icons button[title="Settings"] {
    display: none;
  }
  
  /* Stats grid stack */
  .stats-grid {
    grid-template-columns: 1fr;
  }
}

/* Cards & Tables */
.card {
  background: var(--card);
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  border: 1px solid var(--border);
}

.cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  padding: 16px;
}
@media (max-width: 640px) {
  .cards-grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    padding: 12px;
  }
}

table {
  width: 100%;
  border-collapse: collapse;
  background: var(--card);
  border-radius: 8px;
  overflow: hidden;
}

th, td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid var(--border);
}

th {
  background: #f8fafc;
  font-weight: 600;
  color: var(--muted);
  font-size: 13px;
}

/* Settings Drawer */
.settings-drawer {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: 300px;
  background: var(--card);
  z-index: 2000;
  box-shadow: -4px 0 20px rgba(0,0,0,0.1);
  transform: translateX(100%);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
}
.settings-drawer.open {
  transform: translateX(0);
}
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.4);
  z-index: 1999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.modal-overlay.open {
  opacity: 1;
  pointer-events: auto;
}
.settings-head {
  padding: 16px;
  border-bottom: 1px solid var(--border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
}
.settings-body {
  padding: 16px;
  flex: 1;
  overflow-y: auto;
}
