/* dr-theme.css — Dovile Rusteikiene dark theme for calculator apps */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root, .dark {
  --background: 0 0% 2%;
  --foreground: 30 12% 95%;
  --card: 0 0% 5%;
  --card-foreground: 30 12% 95%;
  --popover: 0 0% 5%;
  --popover-foreground: 30 12% 95%;
  --primary: 0 100% 57%;
  --primary-foreground: 0 0% 100%;
  --secondary: 0 0% 11%;
  --secondary-foreground: 30 12% 95%;
  --muted: 0 0% 11%;
  --muted-foreground: 20 4% 62%;
  --accent: 0 0% 14%;
  --accent-foreground: 30 12% 95%;
  --destructive: 0 100% 57%;
  --destructive-foreground: 0 0% 100%;
  --border: 0 0% 11%;
  --input: 0 0% 14%;
  --ring: 0 100% 57%;
  --radius: .75rem;
}

html, body, #app { background: #060606 !important; color: #d9d5d2 !important; }
body, #app, input, select, textarea, button {
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* --- surfaces --- */
.bg-white { background-color: #0d0d0d !important; }
.bg-gray-50, .bg-gray-100 { background-color: #101010 !important; }
.bg-blue-50, .bg-blue-100,
.bg-indigo-100, .bg-purple-100 { background-color: rgba(255,34,34,.07) !important; }
.bg-green-50, .bg-green-100 { background-color: rgba(63,191,106,.10) !important; }
.bg-red-50, .bg-red-100 { background-color: rgba(255,92,92,.10) !important; }
.bg-yellow-100 { background-color: rgba(232,163,60,.12) !important; }

/* --- borders --- */
.border-gray-300 { border-color: #1c1c1c !important; }
.border-blue-200, .border-blue-300 { border-color: #262626 !important; }
.bg-blue-50, .bg-blue-100 { background-color: #0f0f0f !important; }
.border-green-500 { border-color: rgba(63,191,106,.45) !important; }
.border-red-500 { border-color: rgba(255,92,92,.45) !important; }

/* --- text --- */
.text-gray-800, .text-gray-700 { color: #e8e5e2 !important; }
.text-gray-600 { color: #a8a4a1 !important; }
.text-gray-500 { color: #8d8987 !important; }
.text-gray-400 { color: #6f6b69 !important; }
.text-blue-600, .text-blue-700,
.text-indigo-600, .text-indigo-700,
.text-purple-600, .text-purple-700 { color: #ff2222 !important; }
.text-green-600, .text-green-700 { color: #45c46f !important; }
.text-red-600, .text-red-700 { color: #ff5c5c !important; }
.text-yellow-600, .text-yellow-700 { color: #e8a33c !important; }

h1, h2, h3, h4 { color: #f3f1ef !important; letter-spacing: -.01em; }

/* --- cards / panels --- */
.shadow, .shadow-md, .shadow-lg, .shadow-sm {
  box-shadow: 0 1px 0 rgba(255,255,255,.02), 0 10px 30px rgba(0,0,0,.5) !important;
}
[class*="rounded"] { }

/* --- form controls --- */
input[type="text"], input[type="number"], input[type="email"], select, textarea {
  background-color: #101010 !important;
  border: 1px solid #1c1c1c !important;
  color: #f3f1ef !important;
  border-radius: 10px !important;
}
input:focus, select:focus, textarea:focus {
  outline: none !important;
  border-color: rgba(255,34,34,.55) !important;
  box-shadow: 0 0 0 3px rgba(255,34,34,.12) !important;
}
input::placeholder, textarea::placeholder { color: #6f6b69 !important; }

/* number spinners */
input[type="number"] { color-scheme: dark; }

/* --- range sliders --- */
input[type="range"] {
  -webkit-appearance: none; appearance: none;
  background: transparent !important; height: 22px;
}
input[type="range"]::-webkit-slider-runnable-track {
  height: 5px; border-radius: 999px; background: #1c1c1c;
}
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none;
  width: 17px; height: 17px; margin-top: -6px;
  border-radius: 50%; background: #ec1111;
  border: 2px solid #060606;
  box-shadow: 0 0 0 1px rgba(255,34,34,.5);
  cursor: pointer;
}
input[type="range"]::-moz-range-track { height: 5px; border-radius: 999px; background: #1c1c1c; }
input[type="range"]::-moz-range-thumb {
  width: 15px; height: 15px; border-radius: 50%;
  background: #ec1111; border: 2px solid #060606; cursor: pointer;
}

/* --- buttons --- */
button {
  border-radius: 10px !important;
  font-weight: 600 !important;
}
button.bg-white, button.bg-gray-50, button.bg-gray-100 {
  background-color: #131313 !important;
  border: 1px solid #1c1c1c !important;
  color: #e8e5e2 !important;
}
button.bg-white:hover, button.bg-gray-50:hover, button.bg-gray-100:hover {
  background-color: #191919 !important;
  border-color: #2a2a2a !important;
}

/* shadcn primary buttons */
.bg-primary { background-color: #ec1111 !important; color: #fff !important; }
.bg-primary:hover { background-color: #ff2222 !important; }

/* --- tables --- */
table { border-color: #1c1c1c !important; }
th, td { border-color: #1c1c1c !important; color: #d9d5d2 !important; }
thead th { color: #8d8987 !important; }

/* --- misc --- */
hr, .border-t, .border-b, .border, .border-l, .border-r { border-color: #1c1c1c !important; }
::selection { background: rgba(255,34,34,.3); }
* { scrollbar-color: #2a2a2a #060606; }
/* info boxes: neutral, not alarming */
.bg-blue-50, .bg-blue-100 { border-left: 2px solid rgba(255,34,34,.5) !important; }
.bg-blue-50 .text-blue-700.font-medium,
.bg-blue-100 .text-blue-700.font-medium { color: #e8e5e2 !important; }
.bg-blue-50 .font-bold, .bg-blue-100 .font-bold { color: #ff2222 !important; }
.bg-green-50, .bg-green-100 { border-left: 2px solid rgba(69,196,111,.55) !important; }

/* embed-height fix */
html,body{min-height:0!important;height:auto!important}
#app{min-height:0!important;height:auto!important}
.min-h-screen,.h-screen{min-height:0!important;height:auto!important}

.p-3.bg-blue-100{border-left:1px solid rgba(255,34,34,.28)!important}
