/* ======================================================================
   QWICK -- KOMPONENT: textové pole

   JEDINÝ ZDROJ materiálu poľa pre celú aplikáciu aj pre moduly.

   ČO BOLO PREDTÝM
   ---------------
   To isté pole kreslili štyri miesta:

     02-dashboard   `background:var(--surface3)` + `border:var(--line)`
                    -> prepísané v 10 cez !important, teda MŔTVE
     10-materials   sklo pre `.qwick-entry-note` / `.qwick-entry-amount`
                    / `.qwick-field-glass` / `.tag-editor-name-input`
     15-sheet       to isté sklo znova, pre polia vnútri sheetu
     10-materials   ešte raz, viazané na `#entryOverlay #amount|#note`

   Štyri kópie tých istých piatich deklarácií. Modul pritom používal
   správne triedy -- problém nebol v module, ale v tom, že zdieľaná
   vrstva nemala jeden zdroj.

   ROLA, NIE MIESTO
   ----------------
   Pole je pole, nech stojí kdekoľvek: v dashboardovom formulári,
   v sheete, v editore tagov aj v module. Preto sa adresuje rolou a nie
   tým, v ktorom prekryve práve je.

   Zakázané pole je zámerne v tom istom zozname: `disabled` je v QWICK iba
   trik na vylúčenie z fokusového reťazca, takže musí vyzerať na pixel
   rovnako ako pole, do ktorého sa píše.

   MATERIÁL POĽA NIE JE SKLO
   -------------------------
   Pole, sumár aj pilulka návrhu adresy majú **priesvitnú výplň + okraj +
   tieň**, bez rozostrenia. Je to zámer, nie zabudnutá deklarácia: presne
   takto vyzerali pilulky návrhov, kým im rozostrenie bral backdrop-root
   ich obalu, a tento vzhľad sa stal materiálom celej roly.

   Token `--glass-blur-field` je preto **zrušený**, nie vynulovaný. Mapová
   obrazovka má vlastný 2 px variant nad živou mapou; nemení tento spoločný
   materiál poľa. Token
   menom „blur“ s hodnotou `none` klame a v tomto projekte to už raz spravil
   `--glass-blur`. Spoločná rola poľa rozostrenie nemá, takže nie je komu ho
   odovzdať ako globálny token.

   ROLA SA ADRESUJE ROLOU
   ----------------------
   Zoznam vyssie nemenuje `.overlay .sheet input`, `textarea` ani `select`.
   Bolo to adresovanie MIESTA -- "pole, ktore stoji v sheete" -- co je presne
   to, co AGENTS.md zakazuje, a navyse `textarea` a `select` v QWICK nie su
   ani jeden. Kazde skutocne pole appky aj modulov nesie jednu z rol nizsie,
   takze zoznam je uplny bez nich.

   Tento subor je ZAROVEN jediny zdroj pre obe temy. Tokeny --glass-field*
   su otemovane v styles/12-themes.css, takze svetla varianta nepotrebuje
   ziadne vlastne pravidlo -- a nesmie ho mat.
   ====================================================================== */

.qwick-surface .qwick-entry-note,
.qwick-surface .qwick-entry-amount,
.qwick-surface .qwick-field-glass,
.qwick-surface .qwick-record-input,
.qwick-surface .tag-editor-name-input,
.qwick-surface .qwick-entry-note:disabled,
.qwick-surface .qwick-entry-amount:disabled,
.qwick-surface .qwick-record-input:disabled{
  background:var(--glass-field);
  border:1px solid var(--glass-field-edge);
  border-top-color:transparent;
  color:var(--text);
  -webkit-text-fill-color:currentColor;
  font-family:inherit;
  outline:none;
  opacity:1;
  -webkit-appearance:none;
  appearance:none;
}

/* FOKUS NEMENÍ FARBU POĽA

   Pole sa pri písaní preberalo do farby plochy -- v TRIPS zelenej, v MOVES
   modrej. Zrušené: pokojový aj aktívny stav je ten istý materiál, biele
   sklo 15 %. Označením je kurzor a otvorená klávesnica, nie prefarbená
   výplň. Nezavádzaj sem tint späť ako predvolený stav.

   VÝNIMKA JE VYSLOVENÁ, nie predvolená: RULES si vlastný focus kreslí sám
   farbou práve upravovaného tagu (`modules/trips/trips.css`), pretože tam
   farba nesie význam -- hovorí, ktorému tagu formulár patrí.

   Token `--glass-field-focus` (biela .13) ostáva ZRUŠENÝ.

   Tokeny --glass-field* sú otemované v styles/12-themes.css. */

.qwick-surface .qwick-entry-note::placeholder,
.qwick-surface .qwick-entry-amount::placeholder,
.qwick-surface .qwick-record-input::placeholder,
.qwick-surface .tag-editor-name-input::placeholder{
  color:var(--muted);
  opacity:.78;
}

/* Farebný okraj poľa je pomenovaný variant spoločného materiálu. Konzument
   dodá iba významovú farbu cez `--qwick-field-edge-color`; hrúbku, štýl a
   priehľadnú hornú hranu vlastní stále tento jediný zdroj poľa. */
.qwick-surface .qwick-field-colored-edge{
  border-width:1.5px;
  border-color:var(--qwick-field-edge-color,currentColor);
  border-top-color:transparent;
}

/* Pole v editore tagov si vynucuje vlastnú kompozitnú vrstvu vopred.
   Bez toho mu rozostrenie dobiehalo o snímku neskôr: obklopujúca vrstva
   sa preliína iba cez opacity (bez transformácie), takže sklo čakalo na
   dokončenie tohto prelínania. Žiadna iná transformácia na tomto prvku
   nie je, takže je to bezpečné. */
.qwick-surface .tag-editor-name-input{
  transform:translateZ(0);
}

/* ---- jednotka pola ------------------------------------------------------
   KM, MIN, € -- kratky popis prisadnuty k pravemu okraju pola, aby bolo pri
   upravovani vidiet, CO sa upravuje, aj ked je pole vyplnene a placeholder
   uz nie je vidiet. Je to ROLA, nie meno: to iste robi znacka meny v poli
   sumy, preto ich nesie jedno pravidlo. Velkost si urcuje konzument --
   pole sumy ju dedi, mala jednotka merneho pola ju ma vlastnu. */
.qwick-surface .qwick-field-unit,
.qwick-surface .amount-wrap .currency{
  position:absolute;
  right:15px;
  top:50%;
  transform:translateY(-50%);
  font-weight:800;
  color:var(--muted);
  pointer-events:none;
}
.qwick-surface .qwick-field-unit{
  font-size:12px;
  letter-spacing:.4px;
}
/* Pole, ktore jednotku nesie, jej musi nechat miesto. Odsadok sa odovzdava
   tokenom, takze geometriu pola nadalej vlastni jej vlastny zdroj a toto
   pravidlo mu do nej nepise druhu vypchavku. */
.qwick-surface .qwick-field-has-unit{
  position:relative;
  --qwick-record-pad-right:var(--field-unit-pad);
}
