/* PlastCalc – vlastné štýly. Farby: oranžová #FF6B00, zelená (vstupy) #22C55E, pozadie #121417 */

body { background: #121417; color: #e2e8f0; font-family: "IBM Plex Sans", sans-serif; }
::selection { background: rgba(255, 107, 0, 0.45); color: #fff; }

.pc-grid-bg {
  background-color: #121417;
  background-image: linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 32px 32px;
}
.pc-h1 { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 1.35rem; letter-spacing: 0.02em; text-transform: uppercase; color: #f1f5f9; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-back { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border: 1px solid #343A40; border-radius: 4px; color: #cbd5e1; font-size: 0.85rem; transition: border-color .2s, color .2s; }
.pc-back:hover { border-color: #FF6B00; color: #FF6B00; }

.pc-card { background: #1A1D21; border: 1px solid #343A40; border-radius: 6px; padding: 1.25rem; }
@media (min-width: 640px) { .pc-card { padding: 1.5rem; } }
.pc-card-title { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 1.05rem; text-transform: uppercase; letter-spacing: 0.06em; color: #e2e8f0; }

.pc-label-in { display: block; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #4ADE80; }
.pc-label-out { display: block; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #FB923C; }

.pc-input { width: 100%; height: 46px; padding: 0 12px; background: #0D2818; border: 1px solid #166534; border-radius: 4px; color: #ECFDF5; font-family: "JetBrains Mono", monospace; font-size: 1.05rem; font-weight: 500; text-align: right; outline: none; transition: border-color .15s, box-shadow .15s; }
.pc-input:focus { border-color: #22C55E; box-shadow: 0 0 0 3px rgba(34,197,94,0.18); }
.pc-input::placeholder { color: rgba(236,253,245,0.25); }
.pc-input.pc-invalid { border-color: #EF4444; background: rgba(239,68,68,0.14); box-shadow: 0 0 0 3px rgba(239,68,68,0.15); }
.pc-suffix { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-family: "JetBrains Mono", monospace; font-size: 0.75rem; color: rgba(74,222,128,0.6); pointer-events: none; }

.pc-result { display: flex; flex-direction: column; justify-content: space-between; gap: 6px; padding: 10px 12px; min-height: 66px; background: #2E1505; border: 1px solid #9A3412; border-radius: 4px; box-shadow: inset 0 1px 6px rgba(0,0,0,0.35); }
.pc-result-val { font-family: "JetBrains Mono", monospace; font-weight: 700; font-size: 1.15rem; color: #FF8A33; font-variant-numeric: tabular-nums; }
.pc-result-big .pc-result-val { font-size: 1.6rem; }

.pc-toggle { display: inline-flex; padding: 3px; background: #121417; border: 1px solid #343A40; border-radius: 6px; gap: 3px; flex-wrap: wrap; }
.pc-toggle button { padding: 8px 14px; font-size: 0.85rem; font-weight: 600; color: #94a3b8; border-radius: 4px; transition: background-color .15s, color .15s; }
.pc-toggle button:hover { color: #e2e8f0; }
.pc-toggle button.active { background: #FF6B00; color: #121417; }

.pc-btn { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px; border-radius: 4px; font-size: 0.85rem; font-weight: 600; transition: background-color .15s, color .15s, border-color .15s, transform .1s; }
.pc-btn:active { transform: scale(0.97); }
.pc-btn-primary { background: #FF6B00; color: #121417; }
.pc-btn-primary:hover { background: #E05D00; }
.pc-btn-ghost { border: 1px solid #343A40; color: #cbd5e1; }
.pc-btn-ghost:hover { border-color: #FF6B00; color: #FF6B00; }
.pc-btn-danger { border: 1px solid #7f1d1d; color: #fca5a5; }
.pc-btn-danger.confirm { background: #EF4444; border-color: #EF4444; color: #fff; }

.pc-select { width: 100%; height: 46px; padding: 0 12px; background: #0D2818; border: 1px solid #166534; border-radius: 4px; color: #ECFDF5; font-size: 0.95rem; outline: none; }
.pc-select:focus { border-color: #22C55E; }
.pc-select option { background: #1A1D21; }

.pc-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.pc-table th { text-align: left; font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; color: #94a3b8; padding: 10px 12px; border-bottom: 1px solid #343A40; background: #22262B; }
.pc-table td { padding: 9px 12px; border-bottom: 1px solid #2a2f35; font-family: "JetBrains Mono", monospace; }
.pc-table tr:hover td { background: rgba(255,255,255,0.02); }
.cell-in { background: #0D2818; color: #ECFDF5; text-align: right; }
.cell-out { background: #2E1505; color: #FF8A33; font-weight: 700; text-align: right; }
.cell-neutral { color: #cbd5e1; text-align: right; }

.pc-badge { display: inline-block; padding: 5px 10px; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; border-radius: 4px; border: 1px solid; }

.pc-fade { animation: pcfade .35s ease-out both; }
@keyframes pcfade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.pc-tile { animation: pcfade .4s ease-out both; }

/* ---- Doplnky pre verziu bez zostavovania ---- */
.pc-title { font-family: "Barlow Condensed", sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: -0.01em; color: #f1f5f9; }

.pc-tile { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 150px; padding: 1.5rem; background: #1A1D21; border: 1px solid #343A40; border-radius: 6px; transition: border-color .2s, transform .2s, background-color .2s; }
.pc-tile:hover { border-color: #FF6B00; transform: translateY(-2px); background: #1f2328; }
.pc-tile-title { font-family: "Barlow Condensed", sans-serif; font-size: 1.5rem; font-weight: 700; text-transform: uppercase; color: #f1f5f9; }
.pc-tile-arrow { color: #475569; transition: color .2s; }
.pc-tile:hover .pc-tile-arrow { color: #FF6B00; }

.pc-chip { padding: 6px 12px; border: 1px solid #343A40; border-radius: 4px; font-family: "JetBrains Mono", monospace; font-size: 0.875rem; color: #e2e8f0; transition: border-color .15s, color .15s; }
.pc-chip:hover { border-color: #FF6B00; color: #FF6B00; }

.pc-icon-btn { height: 40px; width: 40px; display: grid; place-items: center; border: 1px solid #343A40; border-radius: 4px; color: #94a3b8; transition: border-color .15s, color .15s; }
.pc-icon-btn:hover { border-color: #EF4444; color: #f87171; }

.pc-btn-sm { height: 32px; padding: 0 10px; }
.pc-btn-tall { height: 46px; }
.pc-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.pc-card-active { border-color: rgba(255, 107, 0, 0.5); }
.pc-input.text-left { text-align: left; }
.pc-table th.text-right { text-align: right; }
.pc-table td.cell-label { font-family: "IBM Plex Sans", sans-serif; color: #cbd5e1; }

.pc-toasts { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 50; display: flex; flex-direction: column; gap: 8px; }
.pc-toast { padding: 10px 16px; border-radius: 6px; font-size: 0.875rem; background: #1A1D21; color: #e2e8f0; border: 1px solid #343A40; box-shadow: 0 8px 24px rgba(0,0,0,.4); animation: pcfade .25s ease-out both; }
.pc-toast-success { border-color: #10B981; }
.pc-toast-error { border-color: #EF4444; }
