/* ─────────────────────────────────────────────────────────────
   PROJECT-ONLY STYLES
────────────────────────────────────────────────────────────── */

/* ─────────────────────────────────────────────
   FONTS & TEXT ANIMATIONS
────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Orbitron&display=swap');
@property --num { syntax: '<integer>'; initial-value: 0; inherits: false; }
@keyframes initText {
  0% {content:"Αρχικοποίηση συστήματος . . ." }
  17% {content:"Αρχικοποίηση συστήματος . . .\00000a Φόρτωση βασικών μονάδων . . ." }
  27% {content:"Αρχικοποίηση συστήματος . . .\00000a Φόρτωση βασικών μονάδων . . .\00000a Έλεγχος αδειών χρήστη . . ." }
  36% {content:"Αρχικοποίηση συστήματος . . .\00000a Φόρτωση βασικών μονάδων . . .\00000a Έλεγχος αδειών χρήστη . . .\00000a Σύνταξη γεωχωρικού κώδικα . . ." }
  42% {content:"Αρχικοποίηση συστήματος . . .\00000a Φόρτωση βασικών μονάδων . . .\00000a Έλεγχος αδειών χρήστη . . .\00000a Σύνταξη γεωχωρικού κώδικα . . .\00000a Ανάλυση δεδομένων χωραφιών . . ." }
  49% {content:"Φόρτωση βασικών μονάδων . . .\00000a Έλεγχος αδειών χρήστη . . .\00000a Σύνταξη γεωχωρικού κώδικα . . .\00000a Ανάλυση δεδομένων χωραφιών . . .\00000a Σύνδεση με χαρτογραφική βάση . . ." }
  60% {content:"Έλεγχος αδειών χρήστη . . .\00000a Σύνταξη γεωχωρικού κώδικα . . .\00000a Ανάλυση δεδομένων χωραφιών . . .\00000a Σύνδεση με χαρτογραφική βάση . . .\00000a Σάρωση γεωγραφικών επιπέδων . . ." }
  66% {content:"Σύνταξη γεωχωρικού κώδικα . . .\00000a Ανάλυση δεδομένων χωραφιών . . .\00000a Σύνδεση με χαρτογραφική βάση . . .\00000a Σάρωση γεωγραφικών επιπέδων . . .\00000a Φόρτωση διεπαφής χρήστη . . .\00000a" }
  78% {content:"Ανάλυση δεδομένων χωραφιών . . .\00000a Σύνδεση με χαρτογραφική βάση . . .\00000a Σάρωση γεωγραφικών επιπέδων . . .\00000a Φόρτωση διεπαφής χρήστη . . .\00000a Ενεργοποίηση διαδικασιών εκκίνησης . . .\00000a" }
  100% {content:"Σύνδεση με χαρτογραφική βάση . . .\00000a Σάρωση γεωγραφικών επιπέδων . . .\00000a Φόρτωση διεπαφής χρήστη . . .\00000a Ενεργοποίηση διαδικασιών εκκίνησης . . .\00000a Σύνδεση με γεωχωρικές βάσεις δεδομένων . . .\00000a" }
}
@keyframes opcty { 0% { opacity:0 } 100% { opacity:1 } }
@keyframes counting { 0% { --num: 0 } 60% { --num: 66 } 100% { --num: 100 } }
@keyframes charging { 0%{ width:0% } 60%{ width:66% } 100%{ width:100% } }
@keyframes rotate { 0%{ transform: rotate(0) } 100%{ transform: rotate(360deg) } }


/* Logs */
.log-type-info { color:var(--log-info-color); font-weight:bold; }
.log-type-warning { color:var(--log-warning-color); font-weight:bold; }
.log-type-error { color:var(--log-error-color); font-weight:bold; }
.log-type-critical { color:var(--log-critical-color); font-weight:bold; }

/* Copy Buttons */
.copy-btn { background:var(--primary-color); color:var(--text-color-light); border:none; border-radius:5px; padding:5px 10px; font-size:1rem; cursor:pointer; transition:all .3s ease-in-out; }
.copy-btn:hover { background:var(--secondary-color); color:var(--text-color-light); transform:scale(1.1); }
.copy-btn:active { transform:scale(0.95); }
.copied { background:var(--third-color)!important; color:var(--text-color); }
.copied i { animation:popEffect .3s ease-in-out; }
@keyframes popEffect { 0%{transform:scale(1);opacity:.5;} 50%{transform:scale(1.5);opacity:1;} 100%{transform:scale(1);opacity:1;} }

/* PDF View */
#pdf-container { width:100%; height:80vh; overflow:auto; border:1px solid #ccc; }
.pdf-iframe { width:100%; height:100%; position:relative; z-index:1; background:var(--background-color)!important; border:none; }

/* Tokens */
.token-info-box { background:var(--background-dark_1); border-left:4px solid var(--secondary-color); padding:15px 20px; margin:20px 0; border-radius:6px; font-family:'Segoe UI',sans-serif; font-size:15px; color:var(--text-color); box-shadow:0 2px 6px rgba(0,0,0,.04); }
.token-info-box strong { color:var(--primary-color); }
#expiration_date { font-weight:bold; color:var(--log-critical-color); }
#production_token_date { font-weight:bold; color:var(--log-info-color); }

/* Token Days */
.days_left { font-weight:bold; padding:4px 10px; border-radius:6px; display:inline-flex; align-items:center; justify-content:center; font-size:14px; background:var(--status-on-color); color:#fff; transition:background-color .3s,color .3s; }
.days_left.warning { background:var(--status-warning-color); color:#fff; }
.days_left.expired { background:var(--status-off-color); color:#fff; }
.days_left.ok { background:var(--status-on-color); color:#fff; }
.days-controls .btn-days { background:var(--background-dark_4); color:var(--primary-color); border:none; cursor:pointer; height:32px; line-height:32px; font-size:14px; padding:0 10px; border-radius:6px; display:inline-flex; align-items:center; justify-content:center; }
.days-controls .btn-days:hover { background:var(--secondary-color); color:#fff; }
.btn-days.expired { background:var(--status-off-color)!important; color:#fff; }
#custom_days_input { height:32px; line-height:32px; font-size:14px; padding:0 10px; border-radius:6px; border:1px solid var(--secondary-color); color:var(--text-color); }

/* Utilities */
.custom-border { border:4px solid var(--secondary-color)!important; }
.custom-disabled { background:var(--disabled-bg-color-dark)!important; color:var(--disabled-color)!important; border-color:#ddd!important; cursor:not-allowed!important; opacity:1!important; }

/* Compact Search */
#regionSelect+.select2-container--default .select2-selection--single { display:flex; align-items:center; justify-content:center; width:200px; transition:width .3s ease; overflow:hidden; }
.compact-search { height:36px; border-radius:12px!important; background:#fff; font-size:.85rem; }
.compact-search select,.compact-search input { height:100%!important; padding:4px 6px!important; font-size:.85rem!important; }
.compact-search .select2-container .select2-selection--single { height:100%!important; padding:4px 6px; border:none!important; font-size:.85rem; background:transparent; }
.compact-search select { border-radius:8px 0 0 8px!important; }
.compact-search input { border-radius:0!important; }
.compact-search button { height:100%; border-radius:0 8px 8px 0!important; }

/* Tags Filters */
.tags-filter-wrapper .select2-container { max-width:1200px!important; }
.tags-filter-wrapper .select2-container--default .select2-selection--multiple,
.tagsFilterWatchSettingsList .select2-container--default .select2-selection--multiple {
  background:#f9fbfd!important; border:1.5px solid #b8c5d1!important; border-radius:10px!important; min-height:40px; padding:6px 12px 12px; font-size:.9rem; color:#223d4f; box-shadow:0 1.5px 12px rgba(54,81,123,0.04); transition:border .18s; margin-left:0!important;
}
.tagsFilterWatchSettingsList .select2-container--default .select2-selection--multiple { z-index:9999!important; }
.text-end #tagsFilter,.text-end #tagsFilterWatchSettingsList,.text-end .select2-container { text-align:left!important; }