root,
:root.default {
    /*CHANGE THESE FOR THEMES*/
    --tooltip-bg: black;
    --base-bg: #dee0f4;
    --select-bg: #dee0f4;
    --ram-bg: #323550;
    --base-text: #b9c0d3;
    --outline: #383e5d;
    --card-banner-bg: #282a40;
    --deep-bg: #1C1E2F;
    --dropdown-bg: #222437;
    /*END THEME VARIATION*/
    --black: black;
    --blue: #00aeef;
    --indigo: #6610f2;
    --purple: #ab8ce4;
    --pink: #E91E63;
    --red: #ff0017;
    --orange: #fb9678;
    --yellow: #ffd500;
    --green: #3bd949;
    --teal: #58d8a3;
    --cyan: #57c7d4;
    --white: #ffffff;
    --white-smoke: #f3f5f6;
    --gray: #6c757d;
    --gray-light: #8ba2b5;
    --gray-lightest: #f7f7f9;
    --primary: #2196f3;
    --secondary: #dde4eb;
    --success: #19d895;
    --info: #8862e0;
    --warning: #ffaf00;
    --danger: #ff6258;
    --light: #fbfbfb;
    --dark: #252C46;
    --breakpoint-xs: 0;
    --breakpoint-sm: 576px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 992px;
    --breakpoint-xl: 1200px;
    --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI",
        "Atkinson Hyperlegible Next", "Helvetica Neue", Arial, "Noto Sans",
        sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
        "Noto Color Emoji";
    --font-family-monospace: "Atkinson Hyperlegible Mono", SFMono-Regular, Menlo,
        Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}/* ================= OCULANDIA VR — 2030 THEME =================
   Appeso a themes/default.css (caricato per ultimo su tutte le pagine).
   Ripristino: themes/default.css.pre-oculandia
   Riapplica dopo update Crafty: /root/apply-oculandia-theme.sh
   ============================================================== */

:root{
  --ocu-bg:#07090d;
  --ocu-surface:rgba(255,255,255,.035);
  --ocu-border:rgba(255,255,255,.09);
  --ocu-text:#e8eef5;
  --ocu-muted:#8fa0af;
  --ocu-green:#35f06e;
  --ocu-cyan:#22d3ee;
  --ocu-grad:linear-gradient(135deg,#16c784 0%,#0ea5e9 100%);
  --ocu-glow:0 8px 28px rgba(53,240,110,.28);
}

/* ---- fondo scena ---- */
body, .content-wrapper, .container-scroller{
  background:
    radial-gradient(1100px 600px at 8% -5%, rgba(53,240,110,.07), transparent 60%),
    radial-gradient(900px 600px at 105% 105%, rgba(34,211,238,.07), transparent 60%),
    var(--ocu-bg) !important;
  color:var(--ocu-text) !important;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif !important;
}

/* ---- card in vetro ---- */
.card, .modal-content, .dropdown-menu{
  background:var(--ocu-surface) !important;
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border:1px solid var(--ocu-border) !important;
  border-radius:16px !important;
  box-shadow:0 10px 34px rgba(0,0,0,.45) !important;
  animation:ocuIn .28s ease-out both;
}
.card .card-header{background:transparent !important;border-bottom:1px solid var(--ocu-border) !important;}
.card .card-title{color:var(--ocu-text) !important;letter-spacing:.02em;}
@keyframes ocuIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---- navbar / sidebar ---- */
.navbar, .horizontal-menu .top-navbar{
  background:rgba(9,12,18,.72) !important;
  -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
  border-bottom:1px solid var(--ocu-border) !important;
}
.sidebar{
  background:rgba(9,12,18,.86) !important;
  -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
  border-right:1px solid var(--ocu-border) !important;
}
.sidebar .nav-item .nav-link{
  color:var(--ocu-muted) !important; border-radius:12px; margin:2px 8px;
  transition:all .18s cubic-bezier(.2,.7,.3,1.2) !important;
}
.sidebar .nav-item .nav-link:hover{
  color:var(--ocu-text) !important; background:rgba(53,240,110,.10) !important;
  transform:translateX(5px);
}
.sidebar .nav-item.active > .nav-link, .sidebar .nav-item .nav-link.active{
  color:var(--ocu-green) !important; background:rgba(53,240,110,.12) !important;
  box-shadow:inset 3px 0 0 var(--ocu-green);
}
.sidebar .nav-item .nav-link i, .sidebar .menu-icon{color:inherit !important;}

/* ---- bottoni interattivi ---- */
.btn{
  border-radius:12px !important; font-weight:600 !important; letter-spacing:.03em;
  transition:transform .16s cubic-bezier(.2,.7,.3,1.4), box-shadow .16s ease, filter .16s ease !important;
  border:none !important;
}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(0) scale(.96) !important;}
.btn:focus-visible{outline:2px solid var(--ocu-cyan) !important;outline-offset:2px;}
.btn-primary, .btn-info, .btn-success{
  background:var(--ocu-grad) !important; color:#04110a !important;
}
.btn-primary:hover, .btn-info:hover, .btn-success:hover{box-shadow:var(--ocu-glow) !important;filter:brightness(1.08);}
.btn-danger{background:linear-gradient(135deg,#f43f5e,#dc2626) !important;color:#fff !important;}
.btn-danger:hover{box-shadow:0 8px 26px rgba(244,63,94,.35) !important;}
.btn-warning{background:linear-gradient(135deg,#fbbf24,#f59e0b) !important;color:#211500 !important;}
.btn-warning:hover{box-shadow:0 8px 26px rgba(245,158,11,.35) !important;}
.btn-secondary, .btn-outline-primary, .btn-light{
  background:rgba(255,255,255,.06) !important;color:var(--ocu-text) !important;
  border:1px solid var(--ocu-border) !important;
}
.btn-secondary:hover, .btn-outline-primary:hover, .btn-light:hover{border-color:var(--ocu-green) !important;color:var(--ocu-green) !important;}

/* ---- input ---- */
.form-control, select, textarea, .custom-select{
  background:rgba(255,255,255,.05) !important;
  border:1px solid var(--ocu-border) !important;
  border-radius:10px !important; color:var(--ocu-text) !important;
  transition:border-color .15s ease, box-shadow .15s ease !important;
}
.form-control:focus, select:focus, textarea:focus{
  border-color:var(--ocu-green) !important;
  box-shadow:0 0 0 3px rgba(53,240,110,.18) !important;
  background:rgba(255,255,255,.07) !important;
}
::placeholder{color:#5c6b78 !important;}

/* ---- tabelle ---- */
.table{color:var(--ocu-text) !important;}
.table thead th{
  color:var(--ocu-muted) !important; text-transform:uppercase; font-size:.72rem;
  letter-spacing:.09em; border-color:var(--ocu-border) !important;
}
.table td, .table th{border-color:rgba(255,255,255,.06) !important;}
.table tbody tr{transition:background .15s ease;}
.table tbody tr:hover{background:rgba(53,240,110,.05) !important;}

/* ---- link / testo ---- */
a{color:#4ade80;} a:hover{color:#86efac;text-decoration:none;}
.text-muted{color:var(--ocu-muted) !important;}
h1,h2,h3,h4,h5,h6{color:var(--ocu-text) !important;}

/* ---- badge / label stato ---- */
.badge{border-radius:999px !important;font-weight:600 !important;letter-spacing:.03em;}

/* ---- terminale ---- */
#virt_console, .virt_console, pre{
  background:#04060a !important; border:1px solid rgba(53,240,110,.16) !important;
  border-radius:12px !important;
}

/* ---- modali ---- */
.modal-content{border-radius:18px !important;}
.modal-header{border-bottom:1px solid var(--ocu-border) !important;}
.modal-footer{border-top:1px solid var(--ocu-border) !important;}

/* ---- scrollbar ---- */
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:999px;}
::-webkit-scrollbar-thumb:hover{background:rgba(53,240,110,.45);}

/* ---- selezione ---- */
::selection{background:rgba(53,240,110,.35);color:#fff;}

/* ---- progress bar ---- */
.progress{background:rgba(255,255,255,.07) !important;border-radius:999px !important;}
.progress-bar{background:var(--ocu-grad) !important;}

/* ---- login (public) ---- */
.login-half-bg, .auth{background:var(--ocu-bg) !important;}
.auth .card, .login-box{border-radius:20px !important;}


