/* Eduhouse DS v2 core element classes — GENERATED port from design-system-v3 parts.
   Semantic --eh-* tokens only; approved folds applied. Edit via port_v2_css.py mapping. */

:root { --eh-shadow-pop: 0 2px 5px 0 rgba(0, 0, 0, 0.2); --eh-shadow-modal: 2px 2px 2px 0 rgba(0, 0, 0, 0.25); }

/* ── 00-base ── */
.eh-page { margin: 0; font-family: var(--eh-font-body); font-size: var(--eh-type-base); line-height: var(--eh-lh-base); color: var(--eh-text-primary); background: var(--eh-surface-card); }
.eh-ico { font-family: var(--eh-font-icon); font-style: normal; font-weight: 400; display: inline-block; line-height: 1; }

/* ── 00-svgicons ── */
.eh-svgico { display: inline-block; width: 1em; height: 1em; flex: none; vertical-align: -0.125em; background-color: currentColor; -webkit-mask: var(--eh-svgico) center / contain no-repeat; mask: var(--eh-svgico) center / contain no-repeat; }
.eh-svgico--add { --eh-svgico: url('../assets/icons/add.svg'); }
.eh-svgico--address-book { --eh-svgico: url('../assets/icons/address-book.svg'); }
.eh-svgico--ai { --eh-svgico: url('../assets/icons/ai.svg'); }
.eh-svgico--alarm-clock { --eh-svgico: url('../assets/icons/alarm-clock.svg'); }
.eh-svgico--align-center { --eh-svgico: url('../assets/icons/align-center.svg'); }
.eh-svgico--align-justify { --eh-svgico: url('../assets/icons/align-justify.svg'); }
.eh-svgico--align-left { --eh-svgico: url('../assets/icons/align-left.svg'); }
.eh-svgico--align-right { --eh-svgico: url('../assets/icons/align-right.svg'); }
.eh-svgico--ambulance { --eh-svgico: url('../assets/icons/ambulance.svg'); }
.eh-svgico--angle-double-left { --eh-svgico: url('../assets/icons/angle-double-left.svg'); }
.eh-svgico--angle-double-right { --eh-svgico: url('../assets/icons/angle-double-right.svg'); }
.eh-svgico--angle-double-small-left { --eh-svgico: url('../assets/icons/angle-double-small-left.svg'); }
.eh-svgico--angle-double-small-right { --eh-svgico: url('../assets/icons/angle-double-small-right.svg'); }
.eh-svgico--angle-down { --eh-svgico: url('../assets/icons/angle-down.svg'); }
.eh-svgico--angle-left { --eh-svgico: url('../assets/icons/angle-left.svg'); }
.eh-svgico--angle-right { --eh-svgico: url('../assets/icons/angle-right.svg'); }
.eh-svgico--angle-small-down { --eh-svgico: url('../assets/icons/angle-small-down.svg'); }
.eh-svgico--angle-small-left { --eh-svgico: url('../assets/icons/angle-small-left.svg'); }
.eh-svgico--angle-small-right { --eh-svgico: url('../assets/icons/angle-small-right.svg'); }
.eh-svgico--angle-small-up { --eh-svgico: url('../assets/icons/angle-small-up.svg'); }
.eh-svgico--angle-up { --eh-svgico: url('../assets/icons/angle-up.svg'); }
.eh-svgico--apple { --eh-svgico: url('../assets/icons/apple.svg'); }
.eh-svgico--apps { --eh-svgico: url('../assets/icons/apps.svg'); }
.eh-svgico--apps-add { --eh-svgico: url('../assets/icons/apps-add.svg'); }
.eh-svgico--apps-delete { --eh-svgico: url('../assets/icons/apps-delete.svg'); }
.eh-svgico--apps-sort { --eh-svgico: url('../assets/icons/apps-sort.svg'); }
.eh-svgico--archive { --eh-svgico: url('../assets/icons/archive.svg'); }
.eh-svgico--arrow-down { --eh-svgico: url('../assets/icons/arrow-down.svg'); }
.eh-svgico--arrow-from-bottom { --eh-svgico: url('../assets/icons/arrow-from-bottom.svg'); }
.eh-svgico--arrow-left { --eh-svgico: url('../assets/icons/arrow-left.svg'); }
.eh-svgico--arrow-right { --eh-svgico: url('../assets/icons/arrow-right.svg'); }
.eh-svgico--arrow-small-down { --eh-svgico: url('../assets/icons/arrow-small-down.svg'); }
.eh-svgico--arrow-small-left { --eh-svgico: url('../assets/icons/arrow-small-left.svg'); }
.eh-svgico--arrow-small-right { --eh-svgico: url('../assets/icons/arrow-small-right.svg'); }
.eh-svgico--arrow-small-up { --eh-svgico: url('../assets/icons/arrow-small-up.svg'); }
.eh-svgico--arrow-up { --eh-svgico: url('../assets/icons/arrow-up.svg'); }
.eh-svgico--asterik { --eh-svgico: url('../assets/icons/asterik.svg'); }
.eh-svgico--at { --eh-svgico: url('../assets/icons/at.svg'); }
.eh-svgico--backpack { --eh-svgico: url('../assets/icons/backpack.svg'); }
.eh-svgico--badge { --eh-svgico: url('../assets/icons/badge.svg'); }
.eh-svgico--balloons { --eh-svgico: url('../assets/icons/balloons.svg'); }
.eh-svgico--ban { --eh-svgico: url('../assets/icons/ban.svg'); }
.eh-svgico--band-aid { --eh-svgico: url('../assets/icons/band-aid.svg'); }
.eh-svgico--bank { --eh-svgico: url('../assets/icons/bank.svg'); }
.eh-svgico--barber-shop { --eh-svgico: url('../assets/icons/barber-shop.svg'); }
.eh-svgico--baseball { --eh-svgico: url('../assets/icons/baseball.svg'); }
.eh-svgico--basketball { --eh-svgico: url('../assets/icons/basketball.svg'); }
.eh-svgico--bed { --eh-svgico: url('../assets/icons/bed.svg'); }
.eh-svgico--beer { --eh-svgico: url('../assets/icons/beer.svg'); }
.eh-svgico--bell { --eh-svgico: url('../assets/icons/bell.svg'); }
.eh-svgico--bell-ring { --eh-svgico: url('../assets/icons/bell-ring.svg'); }
.eh-svgico--bell-school { --eh-svgico: url('../assets/icons/bell-school.svg'); }
.eh-svgico--bike { --eh-svgico: url('../assets/icons/bike.svg'); }
.eh-svgico--billiard { --eh-svgico: url('../assets/icons/billiard.svg'); }
.eh-svgico--bold { --eh-svgico: url('../assets/icons/bold.svg'); }
.eh-svgico--book { --eh-svgico: url('../assets/icons/book.svg'); }
.eh-svgico--book-alt { --eh-svgico: url('../assets/icons/book-alt.svg'); }
.eh-svgico--bookmark { --eh-svgico: url('../assets/icons/bookmark.svg'); }
.eh-svgico--bowling { --eh-svgico: url('../assets/icons/bowling.svg'); }
.eh-svgico--box { --eh-svgico: url('../assets/icons/box.svg'); }
.eh-svgico--box-alt { --eh-svgico: url('../assets/icons/box-alt.svg'); }
.eh-svgico--bread-slice { --eh-svgico: url('../assets/icons/bread-slice.svg'); }
.eh-svgico--briefcase { --eh-svgico: url('../assets/icons/briefcase.svg'); }
.eh-svgico--broom { --eh-svgico: url('../assets/icons/broom.svg'); }
.eh-svgico--browser { --eh-svgico: url('../assets/icons/browser.svg'); }
.eh-svgico--brush { --eh-svgico: url('../assets/icons/brush.svg'); }
.eh-svgico--bug { --eh-svgico: url('../assets/icons/bug.svg'); }
.eh-svgico--building { --eh-svgico: url('../assets/icons/building.svg'); }
.eh-svgico--bulb { --eh-svgico: url('../assets/icons/bulb.svg'); }
.eh-svgico--butterfly { --eh-svgico: url('../assets/icons/butterfly.svg'); }
.eh-svgico--cake-birthday { --eh-svgico: url('../assets/icons/cake-birthday.svg'); }
.eh-svgico--cake-wedding { --eh-svgico: url('../assets/icons/cake-wedding.svg'); }
.eh-svgico--calculator { --eh-svgico: url('../assets/icons/calculator.svg'); }
.eh-svgico--calendar { --eh-svgico: url('../assets/icons/calendar.svg'); }
.eh-svgico--call-history { --eh-svgico: url('../assets/icons/call-history.svg'); }
.eh-svgico--call-incoming { --eh-svgico: url('../assets/icons/call-incoming.svg'); }
.eh-svgico--call-missed { --eh-svgico: url('../assets/icons/call-missed.svg'); }
.eh-svgico--call-outgoing { --eh-svgico: url('../assets/icons/call-outgoing.svg'); }
.eh-svgico--camera { --eh-svgico: url('../assets/icons/camera.svg'); }
.eh-svgico--camping { --eh-svgico: url('../assets/icons/camping.svg'); }
.eh-svgico--car { --eh-svgico: url('../assets/icons/car.svg'); }
.eh-svgico--caret-down { --eh-svgico: url('../assets/icons/caret-down.svg'); }
.eh-svgico--caret-left { --eh-svgico: url('../assets/icons/caret-left.svg'); }
.eh-svgico--caret-right { --eh-svgico: url('../assets/icons/caret-right.svg'); }
.eh-svgico--caret-up { --eh-svgico: url('../assets/icons/caret-up.svg'); }
.eh-svgico--carrot { --eh-svgico: url('../assets/icons/carrot.svg'); }
.eh-svgico--chart-connected { --eh-svgico: url('../assets/icons/chart-connected.svg'); }
.eh-svgico--chart-histogram { --eh-svgico: url('../assets/icons/chart-histogram.svg'); }
.eh-svgico--chart-network { --eh-svgico: url('../assets/icons/chart-network.svg'); }
.eh-svgico--chart-pie { --eh-svgico: url('../assets/icons/chart-pie.svg'); }
.eh-svgico--chart-pie-alt { --eh-svgico: url('../assets/icons/chart-pie-alt.svg'); }
.eh-svgico--chart-pyramid { --eh-svgico: url('../assets/icons/chart-pyramid.svg'); }
.eh-svgico--chart-set-theory { --eh-svgico: url('../assets/icons/chart-set-theory.svg'); }
.eh-svgico--chart-tree { --eh-svgico: url('../assets/icons/chart-tree.svg'); }
.eh-svgico--chat-arrow-down { --eh-svgico: url('../assets/icons/chat-arrow-down.svg'); }
.eh-svgico--chat-arrow-grow { --eh-svgico: url('../assets/icons/chat-arrow-grow.svg'); }
.eh-svgico--check { --eh-svgico: url('../assets/icons/check.svg'); }
.eh-svgico--checkbox { --eh-svgico: url('../assets/icons/checkbox.svg'); }
.eh-svgico--cheese { --eh-svgico: url('../assets/icons/cheese.svg'); }
.eh-svgico--chess-piece { --eh-svgico: url('../assets/icons/chess-piece.svg'); }
.eh-svgico--child-head { --eh-svgico: url('../assets/icons/child-head.svg'); }
.eh-svgico--circle { --eh-svgico: url('../assets/icons/circle.svg'); }
.eh-svgico--circle-small { --eh-svgico: url('../assets/icons/circle-small.svg'); }
.eh-svgico--clip { --eh-svgico: url('../assets/icons/clip.svg'); }
.eh-svgico--clock { --eh-svgico: url('../assets/icons/clock.svg'); }
.eh-svgico--cloud { --eh-svgico: url('../assets/icons/cloud.svg'); }
.eh-svgico--cloud-check { --eh-svgico: url('../assets/icons/cloud-check.svg'); }
.eh-svgico--cloud-disabled { --eh-svgico: url('../assets/icons/cloud-disabled.svg'); }
.eh-svgico--cloud-download { --eh-svgico: url('../assets/icons/cloud-download.svg'); }
.eh-svgico--cloud-share { --eh-svgico: url('../assets/icons/cloud-share.svg'); }
.eh-svgico--cloud-upload { --eh-svgico: url('../assets/icons/cloud-upload.svg'); }
.eh-svgico--clouds { --eh-svgico: url('../assets/icons/clouds.svg'); }
.eh-svgico--cocktail { --eh-svgico: url('../assets/icons/cocktail.svg'); }
.eh-svgico--coffee { --eh-svgico: url('../assets/icons/coffee.svg'); }
.eh-svgico--comment { --eh-svgico: url('../assets/icons/comment.svg'); }
.eh-svgico--comment-alt { --eh-svgico: url('../assets/icons/comment-alt.svg'); }
.eh-svgico--comment-check { --eh-svgico: url('../assets/icons/comment-check.svg'); }
.eh-svgico--comment-heart { --eh-svgico: url('../assets/icons/comment-heart.svg'); }
.eh-svgico--comment-info { --eh-svgico: url('../assets/icons/comment-info.svg'); }
.eh-svgico--comment-user { --eh-svgico: url('../assets/icons/comment-user.svg'); }
.eh-svgico--comments { --eh-svgico: url('../assets/icons/comments.svg'); }
.eh-svgico--compress { --eh-svgico: url('../assets/icons/compress.svg'); }
.eh-svgico--compress-alt { --eh-svgico: url('../assets/icons/compress-alt.svg'); }
.eh-svgico--computer { --eh-svgico: url('../assets/icons/computer.svg'); }
.eh-svgico--confetti { --eh-svgico: url('../assets/icons/confetti.svg'); }
.eh-svgico--cookie { --eh-svgico: url('../assets/icons/cookie.svg'); }
.eh-svgico--copy { --eh-svgico: url('../assets/icons/copy.svg'); }
.eh-svgico--copy-alt { --eh-svgico: url('../assets/icons/copy-alt.svg'); }
.eh-svgico--copyright { --eh-svgico: url('../assets/icons/copyright.svg'); }
.eh-svgico--cow { --eh-svgico: url('../assets/icons/cow.svg'); }
.eh-svgico--cream { --eh-svgico: url('../assets/icons/cream.svg'); }
.eh-svgico--credit-card { --eh-svgico: url('../assets/icons/credit-card.svg'); }
.eh-svgico--croissant { --eh-svgico: url('../assets/icons/croissant.svg'); }
.eh-svgico--cross { --eh-svgico: url('../assets/icons/cross.svg'); }
.eh-svgico--cross-circle { --eh-svgico: url('../assets/icons/cross-circle.svg'); }
.eh-svgico--cross-small { --eh-svgico: url('../assets/icons/cross-small.svg'); }
.eh-svgico--crown { --eh-svgico: url('../assets/icons/crown.svg'); }
.eh-svgico--cube { --eh-svgico: url('../assets/icons/cube.svg'); }
.eh-svgico--cupcake { --eh-svgico: url('../assets/icons/cupcake.svg'); }
.eh-svgico--cursor { --eh-svgico: url('../assets/icons/cursor.svg'); }
.eh-svgico--cursor-finger { --eh-svgico: url('../assets/icons/cursor-finger.svg'); }
.eh-svgico--cursor-plus { --eh-svgico: url('../assets/icons/cursor-plus.svg'); }
.eh-svgico--cursor-text { --eh-svgico: url('../assets/icons/cursor-text.svg'); }
.eh-svgico--cursor-text-alt { --eh-svgico: url('../assets/icons/cursor-text-alt.svg'); }
.eh-svgico--dart { --eh-svgico: url('../assets/icons/dart.svg'); }
.eh-svgico--dashboard { --eh-svgico: url('../assets/icons/dashboard.svg'); }
.eh-svgico--data-transfer { --eh-svgico: url('../assets/icons/data-transfer.svg'); }
.eh-svgico--database { --eh-svgico: url('../assets/icons/database.svg'); }
.eh-svgico--delete { --eh-svgico: url('../assets/icons/delete.svg'); }
.eh-svgico--diamond { --eh-svgico: url('../assets/icons/diamond.svg'); }
.eh-svgico--dice { --eh-svgico: url('../assets/icons/dice.svg'); }
.eh-svgico--diploma { --eh-svgico: url('../assets/icons/diploma.svg'); }
.eh-svgico--disco-ball { --eh-svgico: url('../assets/icons/disco-ball.svg'); }
.eh-svgico--disk { --eh-svgico: url('../assets/icons/disk.svg'); }
.eh-svgico--doctor { --eh-svgico: url('../assets/icons/doctor.svg'); }
.eh-svgico--document { --eh-svgico: url('../assets/icons/document.svg'); }
.eh-svgico--document-signed { --eh-svgico: url('../assets/icons/document-signed.svg'); }
.eh-svgico--dollar { --eh-svgico: url('../assets/icons/dollar.svg'); }
.eh-svgico--download { --eh-svgico: url('../assets/icons/download.svg'); }
.eh-svgico--drink-alt { --eh-svgico: url('../assets/icons/drink-alt.svg'); }
.eh-svgico--drumstick { --eh-svgico: url('../assets/icons/drumstick.svg'); }
.eh-svgico--duplicate { --eh-svgico: url('../assets/icons/duplicate.svg'); }
.eh-svgico--e-learning { --eh-svgico: url('../assets/icons/e-learning.svg'); }
.eh-svgico--earnings { --eh-svgico: url('../assets/icons/earnings.svg'); }
.eh-svgico--edit { --eh-svgico: url('../assets/icons/edit.svg'); }
.eh-svgico--edit-alt { --eh-svgico: url('../assets/icons/edit-alt.svg'); }
.eh-svgico--envelope { --eh-svgico: url('../assets/icons/envelope.svg'); }
.eh-svgico--envelope-ban { --eh-svgico: url('../assets/icons/envelope-ban.svg'); }
.eh-svgico--envelope-download { --eh-svgico: url('../assets/icons/envelope-download.svg'); }
.eh-svgico--envelope-marker { --eh-svgico: url('../assets/icons/envelope-marker.svg'); }
.eh-svgico--envelope-open { --eh-svgico: url('../assets/icons/envelope-open.svg'); }
.eh-svgico--envelope-plus { --eh-svgico: url('../assets/icons/envelope-plus.svg'); }
.eh-svgico--euro { --eh-svgico: url('../assets/icons/euro.svg'); }
.eh-svgico--exclamation { --eh-svgico: url('../assets/icons/exclamation.svg'); }
.eh-svgico--expand { --eh-svgico: url('../assets/icons/expand.svg'); }
.eh-svgico--eye { --eh-svgico: url('../assets/icons/eye.svg'); }
.eh-svgico--eye-crossed { --eh-svgico: url('../assets/icons/eye-crossed.svg'); }
.eh-svgico--eye-dropper { --eh-svgico: url('../assets/icons/eye-dropper.svg'); }
.eh-svgico--facebook { --eh-svgico: url('../assets/icons/facebook.svg'); }
.eh-svgico--feather { --eh-svgico: url('../assets/icons/feather.svg'); }
.eh-svgico--ferris-wheel { --eh-svgico: url('../assets/icons/ferris-wheel.svg'); }
.eh-svgico--file { --eh-svgico: url('../assets/icons/file.svg'); }
.eh-svgico--file-add { --eh-svgico: url('../assets/icons/file-add.svg'); }
.eh-svgico--file-ai { --eh-svgico: url('../assets/icons/file-ai.svg'); }
.eh-svgico--file-check { --eh-svgico: url('../assets/icons/file-check.svg'); }
.eh-svgico--file-delete { --eh-svgico: url('../assets/icons/file-delete.svg'); }
.eh-svgico--file-eps { --eh-svgico: url('../assets/icons/file-eps.svg'); }
.eh-svgico--file-gif { --eh-svgico: url('../assets/icons/file-gif.svg'); }
.eh-svgico--file-music { --eh-svgico: url('../assets/icons/file-music.svg'); }
.eh-svgico--file-psd { --eh-svgico: url('../assets/icons/file-psd.svg'); }
.eh-svgico--fill { --eh-svgico: url('../assets/icons/fill.svg'); }
.eh-svgico--film { --eh-svgico: url('../assets/icons/film.svg'); }
.eh-svgico--filter { --eh-svgico: url('../assets/icons/filter.svg'); }
.eh-svgico--fingerprint { --eh-svgico: url('../assets/icons/fingerprint.svg'); }
.eh-svgico--fish { --eh-svgico: url('../assets/icons/fish.svg'); }
.eh-svgico--flag { --eh-svgico: url('../assets/icons/flag.svg'); }
.eh-svgico--flame { --eh-svgico: url('../assets/icons/flame.svg'); }
.eh-svgico--flip-horizontal { --eh-svgico: url('../assets/icons/flip-horizontal.svg'); }
.eh-svgico--flower { --eh-svgico: url('../assets/icons/flower.svg'); }
.eh-svgico--flower-bouquet { --eh-svgico: url('../assets/icons/flower-bouquet.svg'); }
.eh-svgico--flower-tulip { --eh-svgico: url('../assets/icons/flower-tulip.svg'); }
.eh-svgico--folder { --eh-svgico: url('../assets/icons/folder.svg'); }
.eh-svgico--folder-add { --eh-svgico: url('../assets/icons/folder-add.svg'); }
.eh-svgico--following { --eh-svgico: url('../assets/icons/following.svg'); }
.eh-svgico--football { --eh-svgico: url('../assets/icons/football.svg'); }
.eh-svgico--form { --eh-svgico: url('../assets/icons/form.svg'); }
.eh-svgico--forward { --eh-svgico: url('../assets/icons/forward.svg'); }
.eh-svgico--fox { --eh-svgico: url('../assets/icons/fox.svg'); }
.eh-svgico--frown { --eh-svgico: url('../assets/icons/frown.svg'); }
.eh-svgico--ftp { --eh-svgico: url('../assets/icons/ftp.svg'); }
.eh-svgico--gallery { --eh-svgico: url('../assets/icons/gallery.svg'); }
.eh-svgico--gamepad { --eh-svgico: url('../assets/icons/gamepad.svg'); }
.eh-svgico--gas-pump { --eh-svgico: url('../assets/icons/gas-pump.svg'); }
.eh-svgico--gem { --eh-svgico: url('../assets/icons/gem.svg'); }
.eh-svgico--gift { --eh-svgico: url('../assets/icons/gift.svg'); }
.eh-svgico--glass-cheers { --eh-svgico: url('../assets/icons/glass-cheers.svg'); }
.eh-svgico--glasses { --eh-svgico: url('../assets/icons/glasses.svg'); }
.eh-svgico--globe { --eh-svgico: url('../assets/icons/globe.svg'); }
.eh-svgico--globe-alt { --eh-svgico: url('../assets/icons/globe-alt.svg'); }
.eh-svgico--golf { --eh-svgico: url('../assets/icons/golf.svg'); }
.eh-svgico--graduation-cap { --eh-svgico: url('../assets/icons/graduation-cap.svg'); }
.eh-svgico--graphic-tablet { --eh-svgico: url('../assets/icons/graphic-tablet.svg'); }
.eh-svgico--grid { --eh-svgico: url('../assets/icons/grid.svg'); }
.eh-svgico--grid-alt { --eh-svgico: url('../assets/icons/grid-alt.svg'); }
.eh-svgico--guitar { --eh-svgico: url('../assets/icons/guitar.svg'); }
.eh-svgico--gym { --eh-svgico: url('../assets/icons/gym.svg'); }
.eh-svgico--hamburger { --eh-svgico: url('../assets/icons/hamburger.svg'); }
.eh-svgico--hand-holding-heart { --eh-svgico: url('../assets/icons/hand-holding-heart.svg'); }
.eh-svgico--hastag { --eh-svgico: url('../assets/icons/hastag.svg'); }
.eh-svgico--hat-birthday { --eh-svgico: url('../assets/icons/hat-birthday.svg'); }
.eh-svgico--head-side-thinking { --eh-svgico: url('../assets/icons/head-side-thinking.svg'); }
.eh-svgico--headphones { --eh-svgico: url('../assets/icons/headphones.svg'); }
.eh-svgico--headset { --eh-svgico: url('../assets/icons/headset.svg'); }
.eh-svgico--heart { --eh-svgico: url('../assets/icons/heart.svg'); }
.eh-svgico--heart-arrow { --eh-svgico: url('../assets/icons/heart-arrow.svg'); }
.eh-svgico--home { --eh-svgico: url('../assets/icons/home.svg'); }
.eh-svgico--home-location { --eh-svgico: url('../assets/icons/home-location.svg'); }
.eh-svgico--home-location-alt { --eh-svgico: url('../assets/icons/home-location-alt.svg'); }
.eh-svgico--hourglass { --eh-svgico: url('../assets/icons/hourglass.svg'); }
.eh-svgico--hourglass-end { --eh-svgico: url('../assets/icons/hourglass-end.svg'); }
.eh-svgico--ice-cream { --eh-svgico: url('../assets/icons/ice-cream.svg'); }
.eh-svgico--ice-skate { --eh-svgico: url('../assets/icons/ice-skate.svg'); }
.eh-svgico--id-badge { --eh-svgico: url('../assets/icons/id-badge.svg'); }
.eh-svgico--inbox { --eh-svgico: url('../assets/icons/inbox.svg'); }
.eh-svgico--incognito { --eh-svgico: url('../assets/icons/incognito.svg'); }
.eh-svgico--indent { --eh-svgico: url('../assets/icons/indent.svg'); }
.eh-svgico--infinity { --eh-svgico: url('../assets/icons/infinity.svg'); }
.eh-svgico--info { --eh-svgico: url('../assets/icons/info.svg'); }
.eh-svgico--instagram { --eh-svgico: url('../assets/icons/instagram.svg'); }
.eh-svgico--interactive { --eh-svgico: url('../assets/icons/interactive.svg'); }
.eh-svgico--interlining { --eh-svgico: url('../assets/icons/interlining.svg'); }
.eh-svgico--interrogation { --eh-svgico: url('../assets/icons/interrogation.svg'); }
.eh-svgico--italic { --eh-svgico: url('../assets/icons/italic.svg'); }
.eh-svgico--jpg { --eh-svgico: url('../assets/icons/jpg.svg'); }
.eh-svgico--key { --eh-svgico: url('../assets/icons/key.svg'); }
.eh-svgico--keyboard { --eh-svgico: url('../assets/icons/keyboard.svg'); }
.eh-svgico--kite { --eh-svgico: url('../assets/icons/kite.svg'); }
.eh-svgico--label { --eh-svgico: url('../assets/icons/label.svg'); }
.eh-svgico--laptop { --eh-svgico: url('../assets/icons/laptop.svg'); }
.eh-svgico--lasso { --eh-svgico: url('../assets/icons/lasso.svg'); }
.eh-svgico--laugh { --eh-svgico: url('../assets/icons/laugh.svg'); }
.eh-svgico--layers { --eh-svgico: url('../assets/icons/layers.svg'); }
.eh-svgico--layout-fluid { --eh-svgico: url('../assets/icons/layout-fluid.svg'); }
.eh-svgico--leaf { --eh-svgico: url('../assets/icons/leaf.svg'); }
.eh-svgico--letter-case { --eh-svgico: url('../assets/icons/letter-case.svg'); }
.eh-svgico--life-ring { --eh-svgico: url('../assets/icons/life-ring.svg'); }
.eh-svgico--line-width { --eh-svgico: url('../assets/icons/line-width.svg'); }
.eh-svgico--link { --eh-svgico: url('../assets/icons/link.svg'); }
.eh-svgico--linkedin { --eh-svgico: url('../assets/icons/linkedin.svg'); }
.eh-svgico--lipstick { --eh-svgico: url('../assets/icons/lipstick.svg'); }
.eh-svgico--list { --eh-svgico: url('../assets/icons/list.svg'); }
.eh-svgico--list-check { --eh-svgico: url('../assets/icons/list-check.svg'); }
.eh-svgico--location-alt { --eh-svgico: url('../assets/icons/location-alt.svg'); }
.eh-svgico--lock { --eh-svgico: url('../assets/icons/lock.svg'); }
.eh-svgico--lock-alt { --eh-svgico: url('../assets/icons/lock-alt.svg'); }
.eh-svgico--luggage-rolling { --eh-svgico: url('../assets/icons/luggage-rolling.svg'); }
.eh-svgico--magic-wand { --eh-svgico: url('../assets/icons/magic-wand.svg'); }
.eh-svgico--makeup-brush { --eh-svgico: url('../assets/icons/makeup-brush.svg'); }
.eh-svgico--man-head { --eh-svgico: url('../assets/icons/man-head.svg'); }
.eh-svgico--map { --eh-svgico: url('../assets/icons/map.svg'); }
.eh-svgico--map-marker { --eh-svgico: url('../assets/icons/map-marker.svg'); }
.eh-svgico--map-marker-cross { --eh-svgico: url('../assets/icons/map-marker-cross.svg'); }
.eh-svgico--map-marker-home { --eh-svgico: url('../assets/icons/map-marker-home.svg'); }
.eh-svgico--map-marker-minus { --eh-svgico: url('../assets/icons/map-marker-minus.svg'); }
.eh-svgico--map-marker-plus { --eh-svgico: url('../assets/icons/map-marker-plus.svg'); }
.eh-svgico--marker { --eh-svgico: url('../assets/icons/marker.svg'); }
.eh-svgico--marker-time { --eh-svgico: url('../assets/icons/marker-time.svg'); }
.eh-svgico--mars { --eh-svgico: url('../assets/icons/mars.svg'); }
.eh-svgico--mars-double { --eh-svgico: url('../assets/icons/mars-double.svg'); }
.eh-svgico--mask-carnival { --eh-svgico: url('../assets/icons/mask-carnival.svg'); }
.eh-svgico--medicine { --eh-svgico: url('../assets/icons/medicine.svg'); }
.eh-svgico--megaphone { --eh-svgico: url('../assets/icons/megaphone.svg'); }
.eh-svgico--meh { --eh-svgico: url('../assets/icons/meh.svg'); }
.eh-svgico--menu-burger { --eh-svgico: url('../assets/icons/menu-burger.svg'); }
.eh-svgico--menu-dots { --eh-svgico: url('../assets/icons/menu-dots.svg'); }
.eh-svgico--menu-dots-vertical { --eh-svgico: url('../assets/icons/menu-dots-vertical.svg'); }
.eh-svgico--microphone { --eh-svgico: url('../assets/icons/microphone.svg'); }
.eh-svgico--microphone-alt { --eh-svgico: url('../assets/icons/microphone-alt.svg'); }
.eh-svgico--microsoft { --eh-svgico: url('../assets/icons/microsoft.svg'); }
.eh-svgico--minus { --eh-svgico: url('../assets/icons/minus.svg'); }
.eh-svgico--minus-small { --eh-svgico: url('../assets/icons/minus-small.svg'); }
.eh-svgico--mobile { --eh-svgico: url('../assets/icons/mobile.svg'); }
.eh-svgico--mode-landscape { --eh-svgico: url('../assets/icons/mode-landscape.svg'); }
.eh-svgico--mode-portrait { --eh-svgico: url('../assets/icons/mode-portrait.svg'); }
.eh-svgico--money { --eh-svgico: url('../assets/icons/money.svg'); }
.eh-svgico--moon { --eh-svgico: url('../assets/icons/moon.svg'); }
.eh-svgico--mountains { --eh-svgico: url('../assets/icons/mountains.svg'); }
.eh-svgico--mouse { --eh-svgico: url('../assets/icons/mouse.svg'); }
.eh-svgico--mug-alt { --eh-svgico: url('../assets/icons/mug-alt.svg'); }
.eh-svgico--music { --eh-svgico: url('../assets/icons/music.svg'); }
.eh-svgico--music-alt { --eh-svgico: url('../assets/icons/music-alt.svg'); }
.eh-svgico--navigation { --eh-svgico: url('../assets/icons/navigation.svg'); }
.eh-svgico--network { --eh-svgico: url('../assets/icons/network.svg'); }
.eh-svgico--network-cloud { --eh-svgico: url('../assets/icons/network-cloud.svg'); }
.eh-svgico--notebook { --eh-svgico: url('../assets/icons/notebook.svg'); }
.eh-svgico--opacity { --eh-svgico: url('../assets/icons/opacity.svg'); }
.eh-svgico--package { --eh-svgico: url('../assets/icons/package.svg'); }
.eh-svgico--paint-brush { --eh-svgico: url('../assets/icons/paint-brush.svg'); }
.eh-svgico--palette { --eh-svgico: url('../assets/icons/palette.svg'); }
.eh-svgico--paper-plane { --eh-svgico: url('../assets/icons/paper-plane.svg'); }
.eh-svgico--password { --eh-svgico: url('../assets/icons/password.svg'); }
.eh-svgico--pause { --eh-svgico: url('../assets/icons/pause.svg'); }
.eh-svgico--paw { --eh-svgico: url('../assets/icons/paw.svg'); }
.eh-svgico--pencil { --eh-svgico: url('../assets/icons/pencil.svg'); }
.eh-svgico--pharmacy { --eh-svgico: url('../assets/icons/pharmacy.svg'); }
.eh-svgico--phone-call { --eh-svgico: url('../assets/icons/phone-call.svg'); }
.eh-svgico--phone-cross { --eh-svgico: url('../assets/icons/phone-cross.svg'); }
.eh-svgico--phone-pause { --eh-svgico: url('../assets/icons/phone-pause.svg'); }
.eh-svgico--phone-slash { --eh-svgico: url('../assets/icons/phone-slash.svg'); }
.eh-svgico--physics { --eh-svgico: url('../assets/icons/physics.svg'); }
.eh-svgico--picture { --eh-svgico: url('../assets/icons/picture.svg'); }
.eh-svgico--ping-pong { --eh-svgico: url('../assets/icons/ping-pong.svg'); }
.eh-svgico--pizza-slice { --eh-svgico: url('../assets/icons/pizza-slice.svg'); }
.eh-svgico--plane { --eh-svgico: url('../assets/icons/plane.svg'); }
.eh-svgico--play { --eh-svgico: url('../assets/icons/play.svg'); }
.eh-svgico--play-alt { --eh-svgico: url('../assets/icons/play-alt.svg'); }
.eh-svgico--playing-cards { --eh-svgico: url('../assets/icons/playing-cards.svg'); }
.eh-svgico--plus { --eh-svgico: url('../assets/icons/plus.svg'); }
.eh-svgico--plus-small { --eh-svgico: url('../assets/icons/plus-small.svg'); }
.eh-svgico--poker-chip { --eh-svgico: url('../assets/icons/poker-chip.svg'); }
.eh-svgico--portrait { --eh-svgico: url('../assets/icons/portrait.svg'); }
.eh-svgico--pound { --eh-svgico: url('../assets/icons/pound.svg'); }
.eh-svgico--power { --eh-svgico: url('../assets/icons/power.svg'); }
.eh-svgico--presentation { --eh-svgico: url('../assets/icons/presentation.svg'); }
.eh-svgico--print { --eh-svgico: url('../assets/icons/print.svg'); }
.eh-svgico--protractor { --eh-svgico: url('../assets/icons/protractor.svg'); }
.eh-svgico--pulse { --eh-svgico: url('../assets/icons/pulse.svg'); }
.eh-svgico--pyramid { --eh-svgico: url('../assets/icons/pyramid.svg'); }
.eh-svgico--quote-right { --eh-svgico: url('../assets/icons/quote-right.svg'); }
.eh-svgico--rainbow { --eh-svgico: url('../assets/icons/rainbow.svg'); }
.eh-svgico--raindrops { --eh-svgico: url('../assets/icons/raindrops.svg'); }
.eh-svgico--rec { --eh-svgico: url('../assets/icons/rec.svg'); }
.eh-svgico--receipt { --eh-svgico: url('../assets/icons/receipt.svg'); }
.eh-svgico--record-vinyl { --eh-svgico: url('../assets/icons/record-vinyl.svg'); }
.eh-svgico--rectabgle-vertical { --eh-svgico: url('../assets/icons/rectabgle-vertical.svg'); }
.eh-svgico--rectangle-horizontal { --eh-svgico: url('../assets/icons/rectangle-horizontal.svg'); }
.eh-svgico--rectangle-panoramic { --eh-svgico: url('../assets/icons/rectangle-panoramic.svg'); }
.eh-svgico--recycle { --eh-svgico: url('../assets/icons/recycle.svg'); }
.eh-svgico--redo { --eh-svgico: url('../assets/icons/redo.svg'); }
.eh-svgico--redo-alt { --eh-svgico: url('../assets/icons/redo-alt.svg'); }
.eh-svgico--reflect { --eh-svgico: url('../assets/icons/reflect.svg'); }
.eh-svgico--refresh { --eh-svgico: url('../assets/icons/refresh.svg'); }
.eh-svgico--resize { --eh-svgico: url('../assets/icons/resize.svg'); }
.eh-svgico--resources { --eh-svgico: url('../assets/icons/resources.svg'); }
.eh-svgico--rewind { --eh-svgico: url('../assets/icons/rewind.svg'); }
.eh-svgico--rhombus { --eh-svgico: url('../assets/icons/rhombus.svg'); }
.eh-svgico--rings-wedding { --eh-svgico: url('../assets/icons/rings-wedding.svg'); }
.eh-svgico--road { --eh-svgico: url('../assets/icons/road.svg'); }
.eh-svgico--rocket { --eh-svgico: url('../assets/icons/rocket.svg'); }
.eh-svgico--room-service { --eh-svgico: url('../assets/icons/room-service.svg'); }
.eh-svgico--rotate-right { --eh-svgico: url('../assets/icons/rotate-right.svg'); }
.eh-svgico--rugby { --eh-svgico: url('../assets/icons/rugby.svg'); }
.eh-svgico--sad { --eh-svgico: url('../assets/icons/sad.svg'); }
.eh-svgico--salad { --eh-svgico: url('../assets/icons/salad.svg'); }
.eh-svgico--scale { --eh-svgico: url('../assets/icons/scale.svg'); }
.eh-svgico--school { --eh-svgico: url('../assets/icons/school.svg'); }
.eh-svgico--school-bus { --eh-svgico: url('../assets/icons/school-bus.svg'); }
.eh-svgico--scissors { --eh-svgico: url('../assets/icons/scissors.svg'); }
.eh-svgico--screen { --eh-svgico: url('../assets/icons/screen.svg'); }
.eh-svgico--search { --eh-svgico: url('../assets/icons/search.svg'); }
.eh-svgico--search-alt { --eh-svgico: url('../assets/icons/search-alt.svg'); }
.eh-svgico--search-heart { --eh-svgico: url('../assets/icons/search-heart.svg'); }
.eh-svgico--settings { --eh-svgico: url('../assets/icons/settings.svg'); }
.eh-svgico--settings-sliders { --eh-svgico: url('../assets/icons/settings-sliders.svg'); }
.eh-svgico--share { --eh-svgico: url('../assets/icons/share.svg'); }
.eh-svgico--shield { --eh-svgico: url('../assets/icons/shield.svg'); }
.eh-svgico--shield-check { --eh-svgico: url('../assets/icons/shield-check.svg'); }
.eh-svgico--shield-exclamation { --eh-svgico: url('../assets/icons/shield-exclamation.svg'); }
.eh-svgico--shield-interrogation { --eh-svgico: url('../assets/icons/shield-interrogation.svg'); }
.eh-svgico--shield-plus { --eh-svgico: url('../assets/icons/shield-plus.svg'); }
.eh-svgico--ship { --eh-svgico: url('../assets/icons/ship.svg'); }
.eh-svgico--ship-side { --eh-svgico: url('../assets/icons/ship-side.svg'); }
.eh-svgico--shop { --eh-svgico: url('../assets/icons/shop.svg'); }
.eh-svgico--shopping-bag { --eh-svgico: url('../assets/icons/shopping-bag.svg'); }
.eh-svgico--shopping-bag-add { --eh-svgico: url('../assets/icons/shopping-bag-add.svg'); }
.eh-svgico--shopping-cart { --eh-svgico: url('../assets/icons/shopping-cart.svg'); }
.eh-svgico--shopping-cart-add { --eh-svgico: url('../assets/icons/shopping-cart-add.svg'); }
.eh-svgico--shopping-cart-check { --eh-svgico: url('../assets/icons/shopping-cart-check.svg'); }
.eh-svgico--shuffle { --eh-svgico: url('../assets/icons/shuffle.svg'); }
.eh-svgico--sign-in { --eh-svgico: url('../assets/icons/sign-in.svg'); }
.eh-svgico--sign-in-alt { --eh-svgico: url('../assets/icons/sign-in-alt.svg'); }
.eh-svgico--sign-out { --eh-svgico: url('../assets/icons/sign-out.svg'); }
.eh-svgico--sign-out-alt { --eh-svgico: url('../assets/icons/sign-out-alt.svg'); }
.eh-svgico--signal-alt { --eh-svgico: url('../assets/icons/signal-alt.svg'); }
.eh-svgico--signal-alt-1 { --eh-svgico: url('../assets/icons/signal-alt-1.svg'); }
.eh-svgico--signal-alt-2 { --eh-svgico: url('../assets/icons/signal-alt-2.svg'); }
.eh-svgico--skateboard { --eh-svgico: url('../assets/icons/skateboard.svg'); }
.eh-svgico--smartphone { --eh-svgico: url('../assets/icons/smartphone.svg'); }
.eh-svgico--smile { --eh-svgico: url('../assets/icons/smile.svg'); }
.eh-svgico--smile-wink { --eh-svgico: url('../assets/icons/smile-wink.svg'); }
.eh-svgico--snowflake { --eh-svgico: url('../assets/icons/snowflake.svg'); }
.eh-svgico--soap { --eh-svgico: url('../assets/icons/soap.svg'); }
.eh-svgico--sort { --eh-svgico: url('../assets/icons/sort.svg'); }
.eh-svgico--soup { --eh-svgico: url('../assets/icons/soup.svg'); }
.eh-svgico--spa { --eh-svgico: url('../assets/icons/spa.svg'); }
.eh-svgico--speaker { --eh-svgico: url('../assets/icons/speaker.svg'); }
.eh-svgico--sphere { --eh-svgico: url('../assets/icons/sphere.svg'); }
.eh-svgico--spinner { --eh-svgico: url('../assets/icons/spinner.svg'); }
.eh-svgico--spinner-alt { --eh-svgico: url('../assets/icons/spinner-alt.svg'); }
.eh-svgico--square { --eh-svgico: url('../assets/icons/square.svg'); }
.eh-svgico--square-root { --eh-svgico: url('../assets/icons/square-root.svg'); }
.eh-svgico--star { --eh-svgico: url('../assets/icons/star.svg'); }
.eh-svgico--star-octogram { --eh-svgico: url('../assets/icons/star-octogram.svg'); }
.eh-svgico--stats { --eh-svgico: url('../assets/icons/stats.svg'); }
.eh-svgico--stethoscope { --eh-svgico: url('../assets/icons/stethoscope.svg'); }
.eh-svgico--sticker { --eh-svgico: url('../assets/icons/sticker.svg'); }
.eh-svgico--stop { --eh-svgico: url('../assets/icons/stop.svg'); }
.eh-svgico--stopwatch { --eh-svgico: url('../assets/icons/stopwatch.svg'); }
.eh-svgico--subtitles { --eh-svgico: url('../assets/icons/subtitles.svg'); }
.eh-svgico--sun { --eh-svgico: url('../assets/icons/sun.svg'); }
.eh-svgico--sunrise { --eh-svgico: url('../assets/icons/sunrise.svg'); }
.eh-svgico--surfing { --eh-svgico: url('../assets/icons/surfing.svg'); }
.eh-svgico--sword { --eh-svgico: url('../assets/icons/sword.svg'); }
.eh-svgico--syringe { --eh-svgico: url('../assets/icons/syringe.svg'); }
.eh-svgico--tablet { --eh-svgico: url('../assets/icons/tablet.svg'); }
.eh-svgico--target { --eh-svgico: url('../assets/icons/target.svg'); }
.eh-svgico--taxi { --eh-svgico: url('../assets/icons/taxi.svg'); }
.eh-svgico--tennis { --eh-svgico: url('../assets/icons/tennis.svg'); }
.eh-svgico--terrace { --eh-svgico: url('../assets/icons/terrace.svg'); }
.eh-svgico--test { --eh-svgico: url('../assets/icons/test.svg'); }
.eh-svgico--test-tube { --eh-svgico: url('../assets/icons/test-tube.svg'); }
.eh-svgico--text { --eh-svgico: url('../assets/icons/text.svg'); }
.eh-svgico--text-check { --eh-svgico: url('../assets/icons/text-check.svg'); }
.eh-svgico--thermometer-half { --eh-svgico: url('../assets/icons/thermometer-half.svg'); }
.eh-svgico--thumbs-down { --eh-svgico: url('../assets/icons/thumbs-down.svg'); }
.eh-svgico--thumbs-up { --eh-svgico: url('../assets/icons/thumbs-up.svg'); }
.eh-svgico--thumbtack { --eh-svgico: url('../assets/icons/thumbtack.svg'); }
.eh-svgico--ticket { --eh-svgico: url('../assets/icons/ticket.svg'); }
.eh-svgico--time-add { --eh-svgico: url('../assets/icons/time-add.svg'); }
.eh-svgico--time-check { --eh-svgico: url('../assets/icons/time-check.svg'); }
.eh-svgico--time-delete { --eh-svgico: url('../assets/icons/time-delete.svg'); }
.eh-svgico--time-fast { --eh-svgico: url('../assets/icons/time-fast.svg'); }
.eh-svgico--time-forward { --eh-svgico: url('../assets/icons/time-forward.svg'); }
.eh-svgico--time-forward-sixty { --eh-svgico: url('../assets/icons/time-forward-sixty.svg'); }
.eh-svgico--time-forward-ten { --eh-svgico: url('../assets/icons/time-forward-ten.svg'); }
.eh-svgico--time-half-past { --eh-svgico: url('../assets/icons/time-half-past.svg'); }
.eh-svgico--time-oclock { --eh-svgico: url('../assets/icons/time-oclock.svg'); }
.eh-svgico--time-past { --eh-svgico: url('../assets/icons/time-past.svg'); }
.eh-svgico--time-quarter-past { --eh-svgico: url('../assets/icons/time-quarter-past.svg'); }
.eh-svgico--time-quarter-to { --eh-svgico: url('../assets/icons/time-quarter-to.svg'); }
.eh-svgico--time-twenty-four { --eh-svgico: url('../assets/icons/time-twenty-four.svg'); }
.eh-svgico--tool-crop { --eh-svgico: url('../assets/icons/tool-crop.svg'); }
.eh-svgico--tool-marquee { --eh-svgico: url('../assets/icons/tool-marquee.svg'); }
.eh-svgico--tooth { --eh-svgico: url('../assets/icons/tooth.svg'); }
.eh-svgico--tornado { --eh-svgico: url('../assets/icons/tornado.svg'); }
.eh-svgico--train { --eh-svgico: url('../assets/icons/train.svg'); }
.eh-svgico--train-side { --eh-svgico: url('../assets/icons/train-side.svg'); }
.eh-svgico--transform { --eh-svgico: url('../assets/icons/transform.svg'); }
.eh-svgico--trash { --eh-svgico: url('../assets/icons/trash.svg'); }
.eh-svgico--treatment { --eh-svgico: url('../assets/icons/treatment.svg'); }
.eh-svgico--tree { --eh-svgico: url('../assets/icons/tree.svg'); }
.eh-svgico--tree-christmas { --eh-svgico: url('../assets/icons/tree-christmas.svg'); }
.eh-svgico--triangle { --eh-svgico: url('../assets/icons/triangle.svg'); }
.eh-svgico--trophy { --eh-svgico: url('../assets/icons/trophy.svg'); }
.eh-svgico--truck-side { --eh-svgico: url('../assets/icons/truck-side.svg'); }
.eh-svgico--umbrella { --eh-svgico: url('../assets/icons/umbrella.svg'); }
.eh-svgico--underline { --eh-svgico: url('../assets/icons/underline.svg'); }
.eh-svgico--undo { --eh-svgico: url('../assets/icons/undo.svg'); }
.eh-svgico--undo-alt { --eh-svgico: url('../assets/icons/undo-alt.svg'); }
.eh-svgico--unlock { --eh-svgico: url('../assets/icons/unlock.svg'); }
.eh-svgico--upload { --eh-svgico: url('../assets/icons/upload.svg'); }
.eh-svgico--usb-pendrive { --eh-svgico: url('../assets/icons/usb-pendrive.svg'); }
.eh-svgico--user { --eh-svgico: url('../assets/icons/user.svg'); }
.eh-svgico--user-add { --eh-svgico: url('../assets/icons/user-add.svg'); }
.eh-svgico--user-delete { --eh-svgico: url('../assets/icons/user-delete.svg'); }
.eh-svgico--user-remove { --eh-svgico: url('../assets/icons/user-remove.svg'); }
.eh-svgico--user-time { --eh-svgico: url('../assets/icons/user-time.svg'); }
.eh-svgico--utensils { --eh-svgico: url('../assets/icons/utensils.svg'); }
.eh-svgico--vector { --eh-svgico: url('../assets/icons/vector.svg'); }
.eh-svgico--vector-alt { --eh-svgico: url('../assets/icons/vector-alt.svg'); }
.eh-svgico--venus { --eh-svgico: url('../assets/icons/venus.svg'); }
.eh-svgico--venus-double { --eh-svgico: url('../assets/icons/venus-double.svg'); }
.eh-svgico--venus-mars { --eh-svgico: url('../assets/icons/venus-mars.svg'); }
.eh-svgico--video-camera { --eh-svgico: url('../assets/icons/video-camera.svg'); }
.eh-svgico--volleyball { --eh-svgico: url('../assets/icons/volleyball.svg'); }
.eh-svgico--volume { --eh-svgico: url('../assets/icons/volume.svg'); }
.eh-svgico--wheelchair { --eh-svgico: url('../assets/icons/wheelchair.svg'); }
.eh-svgico--wifi-alt { --eh-svgico: url('../assets/icons/wifi-alt.svg'); }
.eh-svgico--wind { --eh-svgico: url('../assets/icons/wind.svg'); }
.eh-svgico--woman-head { --eh-svgico: url('../assets/icons/woman-head.svg'); }
.eh-svgico--world { --eh-svgico: url('../assets/icons/world.svg'); }
.eh-svgico--yen { --eh-svgico: url('../assets/icons/yen.svg'); }
.eh-svgico--zoom-in { --eh-svgico: url('../assets/icons/zoom-in.svg'); }
.eh-svgico--zoom-out { --eh-svgico: url('../assets/icons/zoom-out.svg'); }

/* ── A-buttons ── */
.eh-btn { display: flex; justify-content: center; align-items: center; box-sizing: border-box; cursor: pointer; font-family: var(--eh-font-medium); font-size: var(--eh-type-lg); font-weight: 400; text-align: center; white-space: nowrap; padding: var(--eh-space-2) var(--eh-space-20); border: 0; border-radius: var(--eh-radius-full); background: var(--eh-action-primary); color: var(--eh-text-inverse); height: 41px; text-decoration: none; }
.eh-btn__content { display: flex; justify-content: center; align-items: center; background: transparent; padding: 0; gap: var(--eh-space-10); }
.eh-btn__content--icon-right { flex-direction: row-reverse; }
.eh-btn .eh-svgico { flex: none; }
.eh-btn--secondary { background: var(--eh-surface-card); color: var(--eh-text-heading); border: 2px solid var(--eh-action-primary); }
.eh-btn--grey { background: var(--eh-surface-disabled); color: var(--eh-text-primary); }
.eh-btn--small { font-size: var(--eh-type-sm); height: 35px; }
.eh-btn--large { height: 45px; padding: 0; width: 100%; }
.eh-btn--disabled { background: var(--eh-surface-disabled); color: var(--eh-text-disabled); border: 0; cursor: default; }
.eh-btn--disabled.eh-btn--secondary { border: 2px solid var(--eh-surface-disabled); background: var(--eh-surface-disabled); }
.eh-chip { display: flex; justify-content: center; align-items: center; box-sizing: border-box; cursor: pointer; font-family: var(--eh-font-medium); font-size: var(--eh-type-lg); font-weight: 400; white-space: nowrap; padding: var(--eh-space-15) var(--eh-space-10); border: 0; border-radius: var(--eh-radius-sm); background: var(--eh-surface-fill); color: var(--eh-text-primary); height: 48px; text-decoration: none; }
.eh-chip--bold { font-family: var(--eh-font-bold); }

/* ── C-input ── */
.eh-input { position: relative; display: block; color: var(--eh-text-primary); font-family: var(--eh-font-body); font-size: var(--eh-type-base); line-height: var(--eh-lh-base); }
.eh-input__field { display: inline-block; vertical-align: top; box-sizing: border-box; width: 100%; height: 48px; margin: 0; padding: var(--eh-space-15) var(--eh-space-20) var(--eh-space-2); background: var(--eh-surface-card); border: 1px solid var(--eh-action-primary); border-radius: var(--eh-radius-md); color: var(--eh-text-primary); font-family: var(--eh-font-body); font-size: var(--eh-type-base); font-weight: 400; line-height: var(--eh-lh-base); text-align: start; cursor: text; }
.eh-input--active .eh-input__field,
.eh-input__field:focus { background: var(--eh-surface-card); outline: none; border-color: var(--eh-border-focus); }
.eh-input__label { position: absolute; top: var(--eh-space-10); left: var(--eh-space-20); display: block; margin: 0; padding: 0; color: var(--eh-text-link); font-family: var(--eh-font-bold); font-size: var(--eh-type-2xs); font-weight: 400; line-height: var(--eh-lh-2xs); text-transform: uppercase; letter-spacing: 1.5px; text-align: start; cursor: default; }

/* ── C-textarea ── */
.eh-textarea { display: block; box-sizing: border-box; width: 100%; padding: var(--eh-space-10); background: var(--eh-surface-card); border: 1px solid var(--eh-border-default); border-radius: 0; color: var(--eh-text-primary); font-family: var(--eh-font-body); font-size: var(--eh-type-base); line-height: var(--eh-lh-base); }
.eh-textarea:focus { outline: none; }
.eh-textarea::placeholder { color: var(--eh-text-secondary); }

/* ── C-search ── */
.eh-search { display: flex; flex-grow: 1; position: relative; }
.eh-search__input { display: block; flex-grow: 1; box-sizing: border-box; height: var(--eh-space-40); padding: 0 var(--eh-space-20); margin: 0; border: 1px solid var(--eh-action-primary); border-radius: var(--eh-radius-full); background: var(--eh-surface-card); color: var(--eh-text-primary); font-family: var(--eh-font-body); font-size: var(--eh-type-base); line-height: var(--eh-lh-base); }
.eh-search__input:focus { outline: none; }
.eh-search__input::placeholder { color: var(--eh-text-primary); opacity: 1; }
.eh-search__icon { position: absolute; top: 13px; right: 21px; display: block; width: 16px; height: 16px; color: var(--eh-text-link); font-family: var(--eh-font-icon); font-size: var(--eh-type-base); line-height: 16px; }
.eh-search__icon::before { content: '\e903'; }

/* ── C-checkbox ── */
.eh-checkbox { position: relative; display: inline-flex; align-items: center; gap: var(--eh-space-10); margin: 0 var(--eh-space-10) 0 0; cursor: pointer; user-select: none; font-family: var(--eh-font-body); font-size: var(--eh-type-base); line-height: var(--eh-lh-base); color: var(--eh-text-primary); }
.eh-checkbox__input { position: absolute; opacity: 0; cursor: pointer; margin: 0; }
.eh-checkbox__box { position: relative; flex: none; box-sizing: border-box; width: 20px; height: 20px; background: var(--eh-surface-card); border: 1px solid var(--eh-border-control); border-radius: var(--eh-radius-sm); }
.eh-checkbox:hover .eh-checkbox__input:not(:disabled) ~ .eh-checkbox__box { background: var(--eh-surface-page); border-color: var(--eh-border-control); }
.eh-checkbox__input:checked ~ .eh-checkbox__box { background-color: var(--eh-action-primary); border-color: var(--eh-action-primary); }
.eh-checkbox__box::after { content: ''; position: absolute; top: 2px; left: 3px; display: none; width: 13px; height: 13px; background: var(--eh-surface-card); -webkit-mask: url('../assets/icons/check.svg') center / contain no-repeat; mask: url('../assets/icons/check.svg') center / contain no-repeat; }
.eh-checkbox__input:checked ~ .eh-checkbox__box::after { display: block; }
.eh-checkbox--disabled, .eh-checkbox--disabled .eh-checkbox__input { cursor: default; }
.eh-checkbox--disabled { color: var(--eh-text-disabled); }
.eh-checkbox__input:disabled ~ .eh-checkbox__box { background: var(--eh-surface-page); border-color: var(--eh-surface-disabled); }
.eh-checkbox__input:disabled:checked ~ .eh-checkbox__box { background: var(--eh-surface-disabled); border-color: var(--eh-surface-disabled); }

/* ── C-radio ── */
.eh-radio { position: relative; display: flex; align-items: center; margin-right: var(--eh-space-10); cursor: pointer; font-family: var(--eh-font-body); font-size: var(--eh-type-base); line-height: var(--eh-lh-base); color: var(--eh-text-primary); }
.eh-radio__input { position: absolute; opacity: 0; cursor: pointer; margin: 0; }
.eh-radio__tick { position: relative; flex: none; box-sizing: border-box; width: 18px; height: 18px; margin-right: var(--eh-space-10); border: 1px solid var(--eh-text-primary); border-radius: 50%; }
.eh-radio__tick::before { content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 12px; border-radius: 50%; background-color: var(--eh-action-primary); transition: all 0.2s ease; opacity: 0; transform: translate(-50%, -50%) scale(0); }
.eh-radio__input:checked + .eh-radio__tick::before { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.eh-radio--disabled, .eh-radio--disabled .eh-radio__input { cursor: default; }
.eh-radio--disabled { color: var(--eh-text-disabled); }
.eh-radio__input:disabled + .eh-radio__tick { border-color: var(--eh-surface-disabled); }
.eh-radio__input:disabled + .eh-radio__tick::before { background-color: var(--eh-text-disabled); }

/* ── C-toggle-button ── */
.eh-togglebutton { display: flex; justify-content: space-between; align-items: center; box-sizing: border-box; width: 285px; height: 48px; padding: 0 var(--eh-space-15); border: 1px solid var(--eh-action-primary); border-radius: var(--eh-radius-md); background: var(--eh-surface-card); color: var(--eh-text-primary); font-family: var(--eh-font-body); font-size: var(--eh-type-base); line-height: 16px; }
.eh-togglebutton__switch { display: block; position: relative; width: 50px; height: 22px; margin-left: var(--eh-space-10); font-size: var(--eh-type-2xs); line-height: 10px; cursor: pointer; }
.eh-togglebutton__input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.eh-togglebutton__core { display: block; position: relative; width: 50px; height: 22px; border-radius: var(--eh-radius-full); background: var(--eh-border-strong); }
.eh-togglebutton__knob { display: block; position: absolute; z-index: 2; top: 3px; left: 3px; width: 16px; height: 16px; overflow: hidden; border-radius: var(--eh-radius-full); background: var(--eh-surface-card); }

/* ── C-select ── */
.eh-select { position: relative; display: block; max-width: 100%; }
.eh-select, .eh-select * { box-sizing: border-box; }
.eh-select__box { position: relative; display: block; }
.eh-select__toggle { display: flex; align-items: center; height: 48px; overflow: hidden; padding: 0 0 var(--eh-space-5) var(--eh-space-10); background: var(--eh-surface-card); color: var(--eh-text-primary); border: 1px solid var(--eh-action-primary); border-radius: var(--eh-radius-md); cursor: pointer; }
.eh-select__values { display: flex; flex-wrap: wrap; flex-grow: 1; min-width: 0; position: relative; height: 28px; padding: 0 var(--eh-space-2); }
.eh-select__value { display: flex; align-items: center; z-index: 0; margin: var(--eh-space-10) var(--eh-space-2) 0 0; padding: 0 var(--eh-space-5); border: 1px solid transparent; border-radius: var(--eh-radius-sm); color: var(--eh-text-primary); line-height: 22.4px; }
.eh-select__search { display: block; flex: 1 1 0; width: 0; min-width: 0; z-index: 1; max-width: 100%; margin: var(--eh-space-5) 0 0; padding: 0 var(--eh-space-5); border: 1px solid transparent; border-left: none; appearance: none; background: none; box-shadow: none; outline: none; font: inherit; line-height: 22.4px; color: inherit; cursor: pointer; }
.eh-select__actions { display: flex; align-items: center; flex: none; margin-left: auto; padding: var(--eh-space-5) var(--eh-space-10) 0 var(--eh-space-2); }
.eh-select__caret { display: block; width: 22px; height: 22px; color: var(--eh-text-link); font-family: var(--eh-font-icon); font-size: var(--eh-type-xl); font-weight: 400; line-height: 22px; }
.eh-select__caret::before { content: '\e933'; }

/* ── C-form-error ── */
.eh-form-label { display: block; margin: var(--eh-space-5) 0; color: var(--eh-text-primary); font-family: var(--eh-font-body); font-size: var(--eh-type-sm); line-height: 19px; }
.eh-form-label--bold { margin: var(--eh-space-10) 0; font-family: var(--eh-font-bold); font-size: var(--eh-type-base); }
.eh-form-label--required::after { content: ' *'; }
.eh-form-error { padding-top: var(--eh-space-10); color: var(--eh-feedback-error); font-family: var(--eh-font-body); font-size: var(--eh-type-sm); line-height: normal; }
.eh-input--error .eh-input__field { border: 1px solid var(--eh-feedback-error); }

/* ── C-filter-select ── */
.eh-filterselect { display: block; max-width: 285px; padding-bottom: 1px; }
.eh-filterselect, .eh-filterselect * { box-sizing: border-box; }
.eh-filterselect--tree { flex-grow: 1; }
.eh-filterselect .eh-select__toggle { cursor: text; }
.eh-filterselect .eh-select__search { align-self: flex-start; cursor: text; }
.eh-filterselect__tree { display: block; position: relative; text-align: left; }
.eh-filterselect__control { display: table; table-layout: fixed; width: 100%; height: 48px; padding: 0 var(--eh-space-10) 0 var(--eh-space-15); background: var(--eh-surface-card); border: 1px solid var(--eh-action-primary); border-radius: var(--eh-radius-md); line-height: 28px; }
.eh-filterselect__control--dim { opacity: 0.6; background: var(--eh-surface-fill); }
.eh-filterselect__values { display: table-cell; position: relative; width: 100%; vertical-align: middle; cursor: text; }
.eh-filterselect__multi { display: inline-block; width: 100%; height: 29.5312px; }
.eh-filterselect__ph { display: block; position: absolute; top: 0; left: 0; right: 0; height: 100%; padding: 0 var(--eh-space-5) 0 var(--eh-space-5); color: var(--eh-text-primary); line-height: var(--eh-lh-hero); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eh-filterselect__inputwrap { display: inline-block; max-width: 100%; height: 29.5312px; padding: 0 var(--eh-space-5); font-size: var(--eh-type-xs); }
.eh-filterselect .eh-filterselect__input { display: inline-block; box-sizing: content-box; width: 177.5px; height: 21.5px; max-width: 100%; margin: 0; padding: var(--eh-space-2) 0; border: 0; outline: none; appearance: none; background: none transparent; font-family: var(--eh-font-body); font-size: var(--eh-type-base); line-height: 16px; text-align: start; color: var(--eh-text-primary); }
.eh-filterselect__arrow { display: table-cell; vertical-align: middle; width: var(--eh-space-20); text-align: center; line-height: 0; cursor: pointer; }
.eh-filterselect__arrow::before { content: '\e933'; display: block; font-family: var(--eh-font-icon); font-size: var(--eh-type-xl); color: var(--eh-text-link); }
.eh-select__search::placeholder { color: var(--eh-text-primary); opacity: 1; }

/* ── C-filters-pill ── */
.eh-filterspill { position: relative; display: flex; justify-content: flex-start; }
.eh-filterspill__btn { display: flex; align-items: center; gap: var(--eh-space-10); padding: var(--eh-space-10) var(--eh-space-20) var(--eh-space-10) var(--eh-space-15); border: 0; border-radius: var(--eh-radius-lg); background: var(--eh-surface-disabled); color: var(--eh-text-primary); font-family: var(--eh-font-body); font-size: var(--eh-type-base); font-weight: 400; line-height: var(--eh-lh-base); text-align: center; cursor: pointer; }
.eh-filterspill__ico { display: block; width: var(--eh-space-15); height: var(--eh-space-15); font-family: var(--eh-font-icon); font-size: var(--eh-type-base); line-height: 1; text-align: center; }
.eh-filterspill__ico::before { content: '\e957'; }

/* ── A-tags ── */
.eh-tag { display: flex; align-items: center; position: relative; box-sizing: border-box; height: 22px; padding: 0 var(--eh-space-10); margin: 0 var(--eh-space-5) var(--eh-space-5) 0; border-radius: var(--eh-radius-sm); background: var(--eh-surface-fill); color: var(--eh-text-primary); font-family: var(--eh-font-body); font-size: var(--eh-type-sm); font-weight: 400; line-height: var(--eh-lh-sm); cursor: pointer; }
.eh-tag > span { display: block; }
.eh-tag__ico { width: var(--eh-space-15); height: var(--eh-space-15); font-family: var(--eh-font-icon); font-size: var(--eh-type-sm); line-height: 14px; }
.eh-tag__ico--signup { color: var(--eh-feedback-notice); margin-right: var(--eh-space-5); }
.eh-tag__ico--signup::before { content: '\e945'; }
.eh-tag__ico--done { color: var(--eh-feedback-success-icon); }
.eh-tag__ico--done::before { content: '\e925'; }
.eh-tag--status { background: var(--eh-surface-fill); gap: var(--eh-space-5); }
.eh-tag--alert { background: var(--eh-feedback-error); color: var(--eh-text-inverse); }
.eh-tag--alert .eh-tag__ico--signup { color: var(--eh-text-inverse); }

/* ── A-card-ribbons ── */
.eh-cardribbons { display: flex; flex-wrap: wrap; padding-top: var(--eh-space-10); font-family: var(--eh-font-body); font-size: var(--eh-type-sm); line-height: var(--eh-lh-sm); }
.eh-cardribbon { display: flex; align-items: center; position: relative; box-sizing: border-box; height: 22px; margin: 0 var(--eh-space-5) var(--eh-space-5) 0; padding: 0 var(--eh-space-10); border-radius: var(--eh-radius-sm); background: var(--eh-surface-fill); color: var(--eh-text-primary); font-family: var(--eh-font-body); font-size: var(--eh-type-sm); line-height: var(--eh-lh-sm); }
.eh-cardribbon > span { display: block; }
.eh-cardribbon--free, .eh-cardribbon--favourite, .eh-cardribbon--topical,
.eh-cardribbon--customer, .eh-cardribbon--promotional { }
.eh-cardribbon--unavailable { background: var(--eh-surface-blackout); color: var(--eh-text-inverse); }
.eh-cardribbon--new { background: var(--eh-feedback-success-surface); }
.eh-cardribbon--upcoming { background: var(--eh-surface-warm); }
.eh-cardribbon--expiring { background: var(--eh-feedback-error-surface); }
.eh-cardribbon--live { padding-left: 32px; }
.eh-cardribbon--live::before { content: '\e95c'; display: block; position: absolute; left: var(--eh-space-10); width: 13px; height: 15px; font-family: var(--eh-font-icon); color: var(--eh-feedback-error); }
.eh-cardribbon--signed { padding-left: 32px; }
.eh-cardribbon--signed::before { content: '\e925'; display: block; position: absolute; left: var(--eh-space-10); font-family: var(--eh-font-icon); color: var(--eh-feedback-success-icon); }

/* ── A-badges ── */
.eh-badge-lock { position: absolute; top: var(--eh-space-10); right: var(--eh-space-10); z-index: 1; display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; background: var(--eh-feedback-error); border-radius: var(--eh-radius-full); cursor: pointer; }
.eh-badge-lock::before { content: ''; width: 15px; height: 15px; background: var(--eh-surface-card); -webkit-mask: url('../assets/icons/lock.svg') center / contain no-repeat; mask: url('../assets/icons/lock.svg') center / contain no-repeat; }
.eh-badge-lock--vertical { top: auto; bottom: 27px; right: 27px; }
.eh-badge-completed { position: absolute; top: 9px; right: 5px; display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 28px; height: 28px; border: 2px solid var(--eh-feedback-notice); border-radius: var(--eh-radius-full); color: var(--eh-feedback-notice); }
.eh-badge-completed::before { content: ''; width: 14px; height: 14px; background: currentColor; -webkit-mask: url('../assets/icons/check.svg') center / contain no-repeat; mask: url('../assets/icons/check.svg') center / contain no-repeat; }
.eh-badge-cert { display: inline-block; width: auto; padding: var(--eh-space-2) var(--eh-space-10); background: var(--eh-surface-selected); color: var(--eh-text-primary); border-radius: var(--eh-radius-full); font-family: var(--eh-font-body); font-size: var(--eh-type-sm); line-height: 24px; text-transform: uppercase; white-space: break-spaces; cursor: pointer; }
.eh-badge-cert--small { font-size: var(--eh-type-xs); line-height: normal; min-height: 20px; }

/* ── A-stat-pills ── */
.eh-statpill { display: flex; justify-content: center; align-items: center; gap: var(--eh-space-5); box-sizing: border-box; width: fit-content; height: 44px; position: relative; padding: var(--eh-space-2) var(--eh-space-10); border: 1px solid var(--eh-action-primary); border-radius: var(--eh-radius-sm); background: var(--eh-surface-card); color: var(--eh-text-primary); font-family: var(--eh-font-body); font-size: var(--eh-type-base); font-weight: 400; line-height: var(--eh-lh-base); }
.eh-statpill__ico { display: block; width: 16px; height: 16px; font-size: var(--eh-type-base); color: var(--eh-text-link); }
.eh-statpill__ico--hourglass::before { content: '\e937'; }
.eh-statpill__text { display: block; }
.eh-statpill__amount { display: block; }
.eh-statband { display: flex; flex-direction: column; gap: var(--eh-space-15); margin: var(--eh-space-20) 0 var(--eh-space-30); padding: var(--eh-space-20); background: var(--eh-surface-fill); border-radius: var(--eh-radius-sm); }
.eh-statband__desc { margin: 0; }

/* ── A-alert ── */
.eh-alert { display: flex; flex-direction: column; align-items: baseline; justify-content: space-between; box-sizing: border-box; width: auto; max-width: 600px; padding: 1.25em; overflow: hidden; background: var(--eh-feedback-error); color: var(--eh-text-inverse); border-radius: var(--eh-radius-sm); font-family: var(--eh-font-body); font-size: var(--eh-type-base); line-height: var(--eh-lh-base); }
.eh-alert--fixed { position: fixed; bottom: var(--eh-space-20); left: var(--eh-space-20); right: var(--eh-space-20); z-index: 9999; }
.eh-alert__content { display: flex; flex-direction: row; align-items: flex-start; justify-content: space-between; width: 100%; }
.eh-alert__text { display: flex; flex-direction: column; margin-top: var(--eh-space-5); text-align: center; }
.eh-alert__actions { display: flex; justify-content: space-between; }
.eh-alert__close { display: inline-block; width: 20px; height: 20px; margin-left: var(--eh-space-5); padding: 0; border: 0; background: currentColor; color: inherit; cursor: pointer; -webkit-mask: url('../assets/icons/cross-circle.svg') center / contain no-repeat; mask: url('../assets/icons/cross-circle.svg') center / contain no-repeat; }

/* ── A-toast ── */
.eh-toast { position: relative; display: flex; align-items: center; justify-content: center; box-sizing: border-box; margin: var(--eh-space-10); padding: var(--eh-space-40) var(--eh-space-30) var(--eh-space-20); background-color: var(--eh-feedback-success); color: var(--eh-text-primary); border-radius: var(--eh-radius-lg); text-align: center; font-family: var(--eh-font-medium); font-size: var(--eh-type-base); line-height: 150%; transition: all 0.5s; }
.eh-toast::before { content: ''; position: absolute; top: var(--eh-space-15); left: 50%; transform: translateX(-50%); width: 30px; height: 30px; background: currentColor; -webkit-mask: url('../assets/icons/check.svg') center / contain no-repeat; mask: url('../assets/icons/check.svg') center / contain no-repeat; }
.eh-toast--fixed { position: fixed; left: 50%; top: var(--toast-top, 50%); transform: translateX(-50%); min-width: var(--toast-min-width, auto); z-index: 999; }
.eh-toast--error { background-color: var(--eh-feedback-error-surface); }
.eh-toast--error::before { -webkit-mask: url('../assets/icons/cross-circle.svg') center / contain no-repeat; mask: url('../assets/icons/cross-circle.svg') center / contain no-repeat; }

/* ── A-notification-bar ── */
.eh-notification { box-sizing: border-box; width: 100%; padding: var(--eh-space-15) 0; background: var(--eh-feedback-error-surface); color: var(--eh-text-primary); font-family: var(--eh-font-body); font-size: var(--eh-type-lg); line-height: normal; overflow: hidden; }
.eh-notification--fixed { position: fixed; top: 0; left: 0; right: 0; z-index: 999; }
.eh-notification__content { box-sizing: border-box; display: flex; flex-direction: row; justify-content: flex-start; gap: var(--eh-space-10); width: 100%; max-width: var(--eh-content-max); margin: 0 auto; padding: 0 var(--eh-content-pad); }
.eh-notification__ico { flex: none; width: 26px; height: 26px; color: var(--eh-feedback-error); }
.eh-notification__ico::before { content: ''; display: block; width: 100%; height: 100%; background: currentColor; -webkit-mask: url('../assets/icons/exclamation.svg') center / contain no-repeat; mask: url('../assets/icons/exclamation.svg') center / contain no-repeat; }
.eh-notification__text a { color: inherit; }
.eh-notification__close { flex: none; align-self: flex-start; width: 22px; height: 22px; margin-left: auto; padding: 0; border: 0; background: currentColor; color: inherit; cursor: pointer; -webkit-mask: url('../assets/icons/cross-small.svg') center / contain no-repeat; mask: url('../assets/icons/cross-small.svg') center / contain no-repeat; }

/* ── A-tooltip ── */
.eh-tooltip { position: relative; display: inline-flex; align-items: center; }
.eh-tooltip__trigger { display: inline-flex; align-items: center; width: 20px; height: 20px; margin: var(--eh-space-5) 0 0 var(--eh-space-5); color: var(--eh-text-primary); cursor: pointer; }
.eh-tooltip__trigger::before { content: ''; width: 100%; height: 100%; background: currentColor; -webkit-mask: url('../assets/icons/info.svg') center / contain no-repeat; mask: url('../assets/icons/info.svg') center / contain no-repeat; }
.eh-tooltip__bubble { position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%); z-index: 10000; width: max-content; max-width: 260px; padding: var(--eh-space-5) var(--eh-space-10) var(--eh-space-5); border-radius: var(--eh-radius-sm); background: var(--eh-overlay-modal); color: var(--eh-text-inverse); font-family: var(--eh-font-body); font-size: var(--eh-type-sm); line-height: 1.4; text-align: left; }
.eh-tooltip__bubble::after { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 6px solid transparent; border-top-color: var(--eh-overlay-modal); border-bottom-width: 0; }

/* ── A-progress ── */
.eh-progress { display: flex; flex-direction: column; }
.eh-progress__bar { display: flex; flex-direction: column; position: relative; width: 100%; height: 8px; margin-right: var(--eh-space-5); border-radius: var(--eh-radius-full); background: var(--eh-surface-fill); line-height: 30px; }
.eh-progress__fill { flex: 1; width: 0%; border-radius: var(--eh-radius-full); background: var(--eh-feedback-progress); }
.eh-progress__meta { display: flex; align-items: center; gap: var(--eh-space-10); margin-top: var(--eh-space-5); color: var(--eh-text-secondary); font-family: var(--eh-font-body); font-size: var(--eh-type-sm); line-height: var(--eh-lh-sm); white-space: nowrap; }
.eh-progress--banner .eh-progress__bar { height: 10px; margin-right: 0; }
.eh-progress--banner .eh-progress__meta { margin-top: var(--eh-space-10); font-size: var(--eh-type-base); line-height: var(--eh-lh-base); }

/* ── A-spinner ── */
@keyframes eh-spinner-spin { 100% { transform: rotate(1turn); } }
.eh-spinner { position: relative; margin-top: var(--eh-space-10); }
.eh-spinner__circle { margin: 0 auto; padding: 0; width: 60px; height: 60px; border-radius: 50%; background: radial-gradient(farthest-side, var(--eh-surface-blackout) 94%, #0000) top/5px 5px no-repeat,
    conic-gradient(#0000 30%, var(--eh-surface-blackout)); -webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - 5px), #000 0); mask: radial-gradient(farthest-side, #0000 calc(100% - 5px), #000 0); animation: eh-spinner-spin 1.2s infinite linear; }
.eh-spinner-overlay { position: fixed; inset: 0; z-index: 9999; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--eh-overlay-light); }
.eh-spinner-overlay .eh-spinner { margin-top: 0; }
.eh-loader-msg { margin: 0; font-family: var(--eh-font-body); font-size: var(--eh-type-xl); color: var(--eh-text-primary); }
.eh-spinner-overlay--contained { position: absolute; }

/* ── A-empty-state ── */
.eh-empty { display: flex; flex-direction: row; align-items: flex-start; box-sizing: border-box; margin: 0 0 32px; padding: var(--eh-space-30) var(--eh-space-20); background: var(--eh-feedback-warning-surface); border-radius: var(--eh-radius-md); color: var(--eh-text-primary); font-family: var(--eh-font-medium); font-size: var(--eh-type-xl); line-height: normal; }
.eh-empty__ico { flex: none; width: 24px; height: 24px; margin: 0 var(--eh-space-20) 0 0; font-family: var(--eh-font-icon); font-size: 24px; line-height: 24px; color: currentColor; }
.eh-empty__ico::before { content: '\e92b'; }
.eh-empty__content { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; word-break: break-word; }
.eh-empty__hint { margin: var(--eh-space-20) 0 var(--eh-space-30) 0; font-size: var(--eh-type-lg); line-height: 150%; }

/* ── C-pagination ── */
.eh-pagination { display: flex; justify-content: center; width: fit-content; margin: 0; padding: 0; list-style: none; background: var(--eh-surface-card); height: 32px; font-family: var(--eh-font-body); font-size: var(--eh-type-sm); line-height: 32px; color: var(--eh-text-primary); }
.eh-pagination__li { float: left; display: list-item; width: 32px; height: 32px; border-radius: var(--eh-radius-full); line-height: 32px; text-align: center; cursor: pointer; }
.eh-pagination__li a { display: inline; color: var(--eh-text-primary); text-decoration: none; font-family: var(--eh-font-body); font-size: var(--eh-type-sm); }
.eh-pagination__pager { float: left; display: block; height: 32px; background: var(--eh-surface-fill); border-radius: var(--eh-radius-full); }
.eh-pagination__pager .eh-pagination__li { margin-right: var(--eh-space-5); }
.eh-pagination__pager .eh-pagination__li:last-child { margin-right: 0; }
.eh-pagination__li--active { background: var(--eh-action-primary); color: var(--eh-text-inverse); border-color: var(--eh-action-primary); }
.eh-pagination__li--active a { color: var(--eh-text-inverse); }
.eh-pagination__li--prev { background: var(--eh-surface-fill); margin-right: var(--eh-space-15); }
.eh-pagination__li--next { background: var(--eh-surface-fill); margin-left: var(--eh-space-10); }
.eh-pagination__ico { font-family: var(--eh-font-icon); font-size: var(--eh-type-2xl); line-height: 1; display: inline-block; width: 24px; height: 24px; vertical-align: middle; }
.eh-pagination__li--prev .eh-pagination__ico { color: var(--eh-border-strong); }
.eh-pagination__li--next .eh-pagination__ico { color: var(--eh-text-primary); }

/* ── C-type-tabs ── */
.eh-typetabs { padding: var(--eh-space-30) 0; }
.eh-typetabs__list { display: flex; margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--eh-border-default); }
.eh-typetabs__tab { display: flex; justify-content: center; align-items: center; gap: var(--eh-space-5); position: relative; box-sizing: border-box; height: 39px; padding: 0 var(--eh-space-20); border-radius: var(--eh-radius-sm) var(--eh-radius-sm) 0 0; background: var(--eh-surface-selected); color: var(--eh-text-primary); font-family: var(--eh-font-medium); cursor: pointer; }
.eh-typetabs__tab + .eh-typetabs__tab { margin-left: var(--eh-space-10); }
.eh-typetabs__tab--active { background: var(--eh-action-primary); color: var(--eh-text-inverse); font-family: var(--eh-font-bold); }
.eh-typetabs__label, .eh-typetabs__count { display: block; }

/* ── C-view-toggle ── */
.eh-viewtoggle { display: flex; justify-content: center; align-items: center; gap: var(--eh-space-10); box-sizing: border-box; height: 48px; padding: 0 var(--eh-space-5); border-radius: var(--eh-radius-md); background: var(--eh-surface-card); }
.eh-viewtoggle__button { display: flex; justify-content: center; align-items: center; gap: var(--eh-space-5); box-sizing: border-box; height: 32px; padding: var(--eh-space-5) var(--eh-space-10); border-radius: var(--eh-radius-md); line-height: 18px; cursor: pointer; }
.eh-viewtoggle__button--active { background: var(--eh-action-primary); color: var(--eh-text-inverse); }
.eh-viewtoggle__ico { display: block; width: var(--eh-space-15); height: var(--eh-space-15); font-family: var(--eh-font-icon); font-size: var(--eh-type-base); font-weight: 400; line-height: 16px; }
.eh-viewtoggle__ico--grid::before { content: '\e92a'; }
.eh-viewtoggle__ico--list::before { content: '\e92f'; }
.eh-viewtoggle__label { display: block; }

/* ── F-course ── */
.eh-breadcrumb { display: flex; align-items: center; color: var(--eh-text-primary); font-size: var(--eh-type-sm); line-height: var(--eh-lh-sm); }
.eh-breadcrumb__link { color: var(--eh-text-link); font-family: var(--eh-font-medium); font-size: var(--eh-type-base); line-height: var(--eh-lh-base); text-decoration: none; }
.eh-breadcrumb__sep { margin: 0 var(--eh-space-5); color: var(--eh-text-link); font-size: var(--eh-type-base); line-height: var(--eh-lh-base); }
.eh-breadcrumb__current { color: var(--eh-text-primary); font-family: var(--eh-font-medium); font-size: var(--eh-type-base); line-height: var(--eh-lh-base); }

/* ── F-listing-courses ── */
.eh-backtotop { position: fixed; right: 30px; bottom: 40px; z-index: 500; width: 50px; height: 50px; }
.eh-backtotop__circle { display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; border-radius: var(--eh-radius-full); background: var(--eh-action-primary); cursor: pointer; }
.eh-backtotop__ico { font-family: var(--eh-font-icon); font-size: var(--eh-type-xl); line-height: 20px; color: var(--eh-text-inverse); }
.eh-backtotop__ico::before { content: '\e919'; }

/* ── F-user-studyplans ── */
.eh-usp-tag { display: flex; align-items: center; gap: var(--eh-space-5); box-sizing: border-box; height: 22px; padding: 0 var(--eh-space-10); border-radius: 3px; color: var(--eh-text-primary); font-family: var(--eh-font-medium); font-size: var(--eh-type-xs); line-height: 13.8px; }
.eh-usp-tag__text { display: block; line-height: 22px; }
.eh-usp-tag--mandatory { background: var(--eh-feedback-warning-surface); }
.eh-usp-tag--completed { background: var(--eh-surface-fill); }
.eh-usp-tag__ico { display: block; width: 12px; height: 12px; font-family: var(--eh-font-icon); font-size: var(--eh-type-xs); line-height: 12px; }
.eh-usp-tag__ico--star { color: var(--eh-text-primary); }
.eh-usp-tag__ico--star::before { content: '\e964'; }
.eh-usp-tag__ico--check { color: var(--eh-feedback-success-icon); }
.eh-usp-tag__ico--check::before { content: '\e925'; }

/* ── F-user-orgreport ── */
.eh-orgdate { position: relative; box-sizing: border-box; width: 278px; height: 48px; }
.eh-orgdate__vdp { display: block; box-sizing: border-box; width: 100%; height: 48px; text-align: left; }
.eh-orgdate__inner { display: block; position: relative; box-sizing: border-box; width: 100%; height: 48px; text-align: left; }
.eh-orgdate__box { display: inline-block; box-sizing: border-box; width: 100%; height: 48px; padding: 0 var(--eh-space-20); border: 1px solid var(--eh-action-primary); border-radius: var(--eh-radius-md); background: var(--eh-surface-card); }
.eh-orgdate__label { position: absolute; top: 10px; left: 20px; text-align: start; color: var(--eh-text-link); font-family: var(--eh-font-bold); font-size: var(--eh-type-2xs); line-height: 12px; letter-spacing: 1.5px; text-transform: uppercase; }
.eh-orgdate__cal { position: absolute; top: 14px; right: 20px; width: 16px; height: 20px; font-family: var(--eh-font-icon); font-size: var(--eh-type-base); line-height: 20px; color: var(--eh-text-link); }
.eh-orgdate__cal::after { content: '\e946'; color: var(--eh-text-link); }
.eh-orgchip { display: flex; justify-content: center; align-items: center; position: relative; box-sizing: border-box; padding: var(--eh-space-5) var(--eh-space-15); margin: var(--eh-space-5) var(--eh-space-10) var(--eh-space-5) 0; border-radius: var(--eh-radius-full); background: var(--eh-surface-selected); color: var(--eh-text-primary); font-family: var(--eh-font-body); font-size: var(--eh-type-sm); line-height: var(--eh-lh-sm); }
.eh-orgchip--clear { text-transform: uppercase; }
.eh-orgchip--removable { }
.eh-orgchip__label { margin-right: var(--eh-space-5); white-space: nowrap; font-family: var(--eh-font-medium); }
.eh-orgchip__label::after { content: ':'; }
.eh-orgchip__name { white-space: nowrap; }
.eh-orgchip__count { padding-left: var(--eh-space-5); }
.eh-orgchip__cancel { box-sizing: border-box; width: 32px; height: 22px; padding: 0 var(--eh-space-5); font-family: var(--eh-font-icon); font-size: var(--eh-type-xl); line-height: 20px; color: var(--eh-text-primary); cursor: pointer; border: 0; background: none; }
.eh-orgchip__cancel::before { content: '\e929'; }

/* ── F-user-summary ── */
.eh-vprogress { display: block; }
.eh-vprogress__track { display: flex; flex-direction: column; height: 10px; border-radius: var(--eh-radius-full); background: var(--eh-surface-fill); line-height: 30px; }
.eh-vprogress__indicator { display: block; height: 10px; line-height: 30px; border-radius: var(--eh-radius-full); background: var(--eh-feedback-progress); }
.eh-vprogress__text { display: block; position: relative; margin-top: var(--eh-space-5); color: var(--eh-text-primary); font-family: var(--eh-font-body); font-size: var(--eh-type-xs); line-height: var(--eh-lh-xs); }
.eh-vprogress__label { display: inline; margin-left: 3px; }

/* ── D-header ── */
.eh-select--lang { width: 165px; max-width: none; }
.eh-select--lang .eh-select__toggle { height: var(--eh-space-40); padding: var(--eh-space-15); border-radius: var(--eh-radius-full); }
.eh-select--lang .eh-select__value { margin-top: var(--eh-space-2); }
.eh-select--lang .eh-select__search { width: 100%; min-width: 0; }

/* ── Z-markers ── */
.eh-pagination__li--jump { background: transparent; }

/* ── G-dc ── */
.eh-dcshowmore { display: flex; align-items: center; gap: var(--eh-space-10); height: 26px; padding: var(--eh-space-10) 0; border-radius: var(--eh-radius-md); color: var(--eh-text-link); font-family: var(--eh-font-medium); font-size: var(--eh-type-sm); line-height: 1.5; cursor: pointer; }
.eh-dcshowmore__arrow { display: inline-block; font-size: var(--eh-type-2xs); line-height: 1; }
.eh-dcshowmore__arrow::before { content: ''; display: inline-block; width: 1em; height: 1em; background: currentColor; -webkit-mask: url('../assets/icons/angle-small-down.svg') center / contain no-repeat; mask: url('../assets/icons/angle-small-down.svg') center / contain no-repeat; }

/* ── G-dc-listing ── */
.eh-dcsearch { display: flex; align-items: center; justify-content: space-between; box-sizing: border-box; width: 578px; height: 48px; padding: 13px var(--eh-space-20); background: var(--eh-surface-card); border: 1px solid var(--eh-action-primary); border-radius: var(--eh-radius-md); }
.eh-dcsearch__input { border: 0; outline: none; flex: 1 0 0; min-width: 1px; color: var(--eh-text-secondary); font-family: var(--eh-font-body); font-size: var(--eh-type-base); line-height: 1.3; background: transparent; }
.eh-dcsearch__ico { font-size: var(--eh-type-base); line-height: 1; color: var(--eh-text-link); }
.eh-dcsearch__ico::before { content: ''; display: inline-block; width: 1em; height: 1em; background: currentColor; -webkit-mask: url('../assets/icons/search.svg') center / contain no-repeat; mask: url('../assets/icons/search.svg') center / contain no-repeat; }
.eh-dcinterval { display: flex; align-items: center; justify-content: center; box-sizing: border-box; height: 18px; padding: var(--eh-space-5) var(--eh-space-10); background: var(--eh-surface-selected); border-radius: var(--eh-radius-full); color: var(--eh-text-heading); font-family: var(--eh-font-medium); font-size: var(--eh-type-xs); line-height: 12px; white-space: nowrap; }

/* ── S-states-forms ── */
.eh-btn:hover, .eh-btn.is-hover { cursor: pointer; filter: brightness(105%); background: var(--eh-action-hover); }
.eh-btn:active, .eh-btn.is-active { filter: brightness(110%); background: var(--eh-action-hover); }
.eh-btn:focus, .eh-btn.is-focus { outline: 1px solid var(--eh-border-focus); }
.eh-btn--secondary:hover, .eh-btn--secondary.is-hover,
.eh-btn--secondary:active, .eh-btn--secondary.is-active { background: var(--eh-action-hover); color: var(--eh-text-inverse); border: 2px solid var(--eh-action-hover); }
.eh-btn--disabled:hover, .eh-btn--disabled.is-hover,
.eh-btn--disabled:active, .eh-btn--disabled.is-active { filter: brightness(100%); background: var(--eh-surface-disabled); color: var(--eh-text-disabled); border-color: var(--eh-surface-disabled); cursor: default; }
.eh-chip:hover, .eh-chip.is-hover { cursor: pointer; filter: brightness(105%); background: var(--eh-surface-selected); }
.eh-chip:active, .eh-chip.is-active { filter: brightness(110%); background: var(--eh-surface-selected); }
.eh-chip:focus, .eh-chip.is-focus { outline: 1px solid var(--eh-border-focus); }
.eh-input.is-focus .eh-input__field { background: var(--eh-surface-card); outline: none; }
.eh-input__field:disabled, .eh-input--disabled .eh-input__field { background: var(--eh-surface-field-disabled); cursor: default; }
.eh-select--open .eh-select__toggle,
.eh-select.is-open .eh-select__toggle { border-radius: var(--eh-radius-md) var(--eh-radius-md) 0 0; }
.eh-select--open .eh-select__value,
.eh-select.is-open .eh-select__value { position: absolute; opacity: 0.4; }
.eh-select--disabled .eh-select__toggle, .eh-select.is-disabled .eh-select__toggle { background: var(--eh-surface-field-disabled); cursor: default; }
.eh-select--disabled .eh-select__value, .eh-select.is-disabled .eh-select__value { color: var(--eh-text-secondary); }
.eh-select--error .eh-select__toggle, .eh-select.is-error .eh-select__toggle { border-color: var(--eh-feedback-error); }
.eh-select--no-options .eh-select__toggle, .eh-select.is-no-options .eh-select__toggle { pointer-events: none; opacity: 0.6; background: var(--eh-surface-fill); }
.eh-search--filled .eh-search__icon, .eh-search.is-filled .eh-search__icon { cursor: pointer; }
.eh-search--filled .eh-search__icon::before, .eh-search.is-filled .eh-search__icon::before { content: '\e929'; }
.eh-togglebutton__input:checked ~ .eh-togglebutton__core,
.eh-togglebutton.is-checked .eh-togglebutton__core { background: var(--eh-action-primary); }
.eh-togglebutton__input:checked ~ .eh-togglebutton__core .eh-togglebutton__knob,
.eh-togglebutton.is-checked .eh-togglebutton__knob { left: 31px; }
.eh-togglebutton--disabled .eh-togglebutton__switch,
.eh-checkbox.is-hover .eh-checkbox__box { background: var(--eh-surface-page); border-color: var(--eh-border-control); }
.eh-checkbox.is-checked .eh-checkbox__box { background-color: var(--eh-action-primary); border-color: var(--eh-action-primary); }
.eh-checkbox.is-checked .eh-checkbox__box::after { display: block; }
.eh-checkbox--disabled .eh-checkbox__box { background: var(--eh-surface-page); border-color: var(--eh-surface-disabled); }
.eh-checkbox--disabled.is-checked .eh-checkbox__box,
.eh-checkbox--disabled .eh-checkbox__input:checked ~ .eh-checkbox__box { background: var(--eh-surface-disabled); border-color: var(--eh-surface-disabled); }
.eh-radio.is-checked .eh-radio__tick::before { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.eh-radio--disabled .eh-radio__tick { border-color: var(--eh-surface-disabled); }
.eh-radio--disabled .eh-radio__tick::before { background-color: var(--eh-text-disabled); }
.eh-filterselect--open .eh-filterselect__control, .eh-filterselect.is-open .eh-filterselect__control { border-radius: var(--eh-radius-md) var(--eh-radius-md) 0 0; }
.eh-filterselect.is-dim .eh-filterselect__control { opacity: 0.6; background: var(--eh-surface-fill); }
.eh-btn--grey:hover, .eh-btn--grey.is-hover,
.eh-btn--grey:active, .eh-btn--grey.is-active { background: var(--eh-action-grey-hover); }

/* ── S-states-indicators ── */
.eh-progress.is-notstarted .eh-progress__bar { background: var(--eh-border-strong); }
.eh-progress.is-completed .eh-progress__fill,
.eh-progress__fill--completed { background: var(--eh-feedback-success); }
.eh-vprogress.is-completed .eh-vprogress__indicator,
.eh-vprogress__indicator--completed { background: var(--eh-feedback-success); }
.eh-orgdate.is-disabled .eh-orgdate__box,
.eh-orgdate--disabled .eh-orgdate__box { background: var(--eh-surface-field-disabled); }
.eh-orgdate.is-error .eh-orgdate__box,
.eh-orgdate--error .eh-orgdate__box { border-color: var(--eh-feedback-error); }
.eh-typetabs__tab:not(.eh-typetabs__tab--active):not(.eh-typetabs__tab--disabled):not(.is-disabled):hover,
.eh-typetabs__tab.is-hover:not(.eh-typetabs__tab--active):not(.eh-typetabs__tab--disabled):not(.is-disabled) { color: var(--eh-text-primary); }
.eh-typetabs__tab--disabled,
.eh-typetabs__tab.is-disabled { color: var(--eh-text-disabled); background: var(--eh-surface-disabled); cursor: default; }
.eh-typetabs__tab--disabled:hover::after,
.eh-typetabs__tab--disabled.is-hover::after,
.eh-typetabs__tab.is-disabled.is-hover::after { content: '\e94c'; font-family: var(--eh-font-icon); font-size: var(--eh-type-lg); color: var(--eh-feedback-error); position: absolute; top: 5px; right: 0; }
.eh-typetabs__tab.is-active { background: var(--eh-action-primary); color: var(--eh-text-inverse); font-family: var(--eh-font-bold); }
.eh-viewtoggle__button.is-active { background: var(--eh-action-primary); color: var(--eh-text-inverse); }
.eh-pagination__li:not(.eh-pagination__li--active):not(.is-disabled):hover a,
.eh-pagination__li.is-hover:not(.eh-pagination__li--active):not(.is-disabled) a { color: var(--eh-text-link); }
.eh-pagination__li--prev:not(.is-disabled):hover .eh-pagination__ico,
.eh-pagination__li--next:not(.is-disabled):hover .eh-pagination__ico,
.eh-pagination__li--prev.is-hover:not(.is-disabled) .eh-pagination__ico,
.eh-pagination__li--next.is-hover:not(.is-disabled) .eh-pagination__ico { color: var(--eh-text-link); }
.eh-pagination__li--prev.is-enabled .eh-pagination__ico,
.eh-pagination__li--next.is-enabled .eh-pagination__ico { color: var(--eh-text-primary); }
.eh-pagination__li.is-disabled { cursor: not-allowed; }
.eh-pagination__li.is-disabled .eh-pagination__ico { color: var(--eh-border-strong); }
.eh-pagination__li.is-active { background: var(--eh-action-primary); color: var(--eh-text-inverse); border-color: var(--eh-action-primary); }
.eh-pagination__li.is-active a { color: var(--eh-text-inverse); }

/* ── S-states-dc ── */
.eh-dcsearch:hover, .eh-dcsearch.is-hover { border-color: var(--eh-action-hover); }
.eh-dcsearch:focus-within, .eh-dcsearch.is-focus { border-color: var(--eh-action-hover); }
.eh-dcsearch__input:focus { outline: none; }
.eh-dcshowmore:hover, .eh-dcshowmore.is-hover { text-decoration: underline; text-underline-position: from-font; }
.eh-dcshowmore:focus-visible, .eh-dcshowmore.is-focus { outline: 1px solid var(--eh-border-focus); }
.eh-alert__close:hover, .eh-alert.is-hover .eh-alert__close { opacity: 0.75; }

/* ── Composition layer — sanctioned layout primitives ── */
.eh-content { max-width: var(--eh-content-max); margin: 0 auto; padding: 0 var(--eh-content-pad); }
.eh-section { margin-bottom: var(--eh-space-40); }
.eh-section__title { margin: 0 0 var(--eh-space-20); font-family: var(--eh-font-medium); font-weight: 400; font-size: var(--eh-type-xl); line-height: var(--eh-lh-xl); color: var(--eh-text-primary); }
.eh-panel { background: var(--eh-surface-card); border-radius: var(--eh-radius-lg); padding: var(--eh-space-30); }
.eh-panel--tight { border-radius: var(--eh-radius-md); padding: var(--eh-space-20); }
.eh-panel--fill { background: var(--eh-surface-fill); border-radius: var(--eh-radius-lg); padding: var(--eh-space-20); }
.eh-panel--framed { border: 1px solid var(--eh-border-default); border-radius: var(--eh-radius-sm); padding: var(--eh-space-20); }
.eh-panel--tint { background: var(--eh-surface-selected); border-radius: var(--eh-radius-md); padding: var(--eh-space-20); }
.eh-stack-10 { display: flex; flex-direction: column; gap: var(--eh-space-10); }
.eh-stack-20 { display: flex; flex-direction: column; gap: var(--eh-space-20); }
.eh-stack-30 { display: flex; flex-direction: column; gap: var(--eh-space-30); }
.eh-row-10 { display: flex; flex-wrap: wrap; align-items: center; gap: var(--eh-space-10); }
.eh-row-20 { display: flex; flex-wrap: wrap; align-items: center; gap: var(--eh-space-20); }
.eh-row-30 { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--eh-space-30); }
.eh-grid-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--eh-space-30); }
.eh-band { background: var(--eh-surface-selected); padding: var(--eh-space-30) 0; }

/* segmented toggle: hover/focus adopted from the DC switch spec; calendar icon as a segment value. Each state ships the real pointer/keyboard selector AND its .is-* twin (the twin is the static-demo simulation) — same pairing as .eh-select:hover and .eh-sectabs__tab:focus-visible below. The real selectors sit on the SEGMENT, not the block: the state is 'Hover (inactive segment)', and a block-level :hover would light every inactive segment of a 3+ segment toggle at once. */
.eh-viewtoggle__button:not(.eh-viewtoggle__button--active):hover, .eh-viewtoggle.is-hover .eh-viewtoggle__button:not(.eh-viewtoggle__button--active) { background: var(--eh-surface-selected); }
.eh-viewtoggle__button:focus-visible, .eh-viewtoggle.is-focus .eh-viewtoggle__button:not(.eh-viewtoggle__button--active) { outline: 1px solid var(--eh-border-focus); }
.eh-viewtoggle__ico--cal::before { content: '\e958'; }

/* textarea disabled — v2 field rule (the app has the prop but styles nothing) */
.eh-textarea:disabled, .eh-textarea.is-disabled { background: var(--eh-surface-field-disabled); cursor: default; }

/* toggle switch disabled — v2 field rule: grey surface only, contents at full strength (replaces the app's opacity dimming) */
.eh-togglebutton--disabled, .eh-togglebutton.is-disabled { background: var(--eh-surface-field-disabled); }
.eh-togglebutton--disabled .eh-togglebutton__switch, .eh-togglebutton.is-disabled .eh-togglebutton__switch { opacity: 1; pointer-events: none; }

/* dropdown toggle hover/focus (adopted from the DC sort spec). Focus lands on the .eh-select__search input inside the toggle, so the real selector is :focus-within on the block — the exact mirror of the .is-focus twin beside it */
.eh-select:hover .eh-select__toggle, .eh-select.is-hover .eh-select__toggle { border-color: var(--eh-action-hover); }
.eh-select:focus-within .eh-select__toggle, .eh-select.is-focus .eh-select__toggle { outline: 1px solid var(--eh-border-focus); }

/* label-less dropdown (listing filters and sorters): no floating label, value centred in the 48px control. Replaces the label clearance only; every other state is unchanged */
.eh-select--no-label .eh-select__values, .eh-select.is-no-label .eh-select__values { height: auto; }
.eh-select--no-label .eh-select__value, .eh-select.is-no-label .eh-select__value { margin-top: var(--eh-space-5); }

/* checkbox menu options (multi select + tree filter share this spec: 20px box, radius sm, action.primary border, filled when checked/indeterminate) */
.eh-select__option--check { display: flex; align-items: center; gap: var(--eh-space-10); }
.eh-select__optcheck { flex: none; width: 20px; height: 20px; position: relative; border: 1px solid var(--eh-action-primary); border-radius: var(--eh-radius-sm); background: var(--eh-surface-card); }
.eh-select__optcheck--checked { background: var(--eh-action-primary); }
.eh-select__optcheck--checked::after { content: ''; position: absolute; inset: 3px; background: var(--eh-text-inverse); -webkit-mask: url('../assets/icons/check.svg') center / contain no-repeat; mask: url('../assets/icons/check.svg') center / contain no-repeat; }

/* open dropdown menu (app: vs__dropdown-menu / vs__dropdown-option; floats over content in the app — rendered in flow here) */
.eh-select__menu { margin: 0; padding: 0; list-style: none; background: var(--eh-surface-card); border: 1px solid var(--eh-action-primary); border-top: 0; border-radius: 0 0 var(--eh-radius-md) var(--eh-radius-md); min-width: 150px; overflow: hidden; }
.eh-select__option { padding: var(--eh-space-10) var(--eh-space-15); font-family: var(--eh-font-body); font-size: var(--eh-type-base); line-height: var(--eh-lh-base); color: var(--eh-text-primary); cursor: pointer; }
.eh-select__option--highlight, .eh-select__option:hover { background: var(--eh-surface-fill); }

/* ── DS extensions ── */
/* filled date value — the app renders it on the field's own <input> (vuejs-datepicker), boxed like .eh-input__field: padding 15/20/2, body type under the floating label */
.eh-orgdate__value { display: block; padding: var(--eh-space-15) var(--eh-space-20) var(--eh-space-2); /* same box as .eh-input__field: the value IS an input (the app's datepicker renders one) and inputs centre their text in the content box — a padding-top-only rule put the date 4px below a text-input value on the same row */ font-family: var(--eh-font-body); font-size: var(--eh-type-base); line-height: var(--eh-lh-base); color: var(--eh-text-primary); }

/* confirmation modal — v2-native element from the app's watchlist modals (.modal data-v-584a34aa/76eec282 + the v--modal wrapper): white card, radius 10, shadow 2 2 2 25%, padding 30; title font.medium type.xl (user decision; weight 400 kills faux-bold on h2); footer right-aligned, grey cancel first, 10px gap */
.eh-modal { display: flex; flex-direction: column; background: var(--eh-surface-card); border-radius: var(--eh-radius-md); box-shadow: var(--eh-shadow-modal); padding: var(--eh-space-30); }
.eh-modal__title { margin: 0; font-family: var(--eh-font-medium); font-weight: 400; font-size: var(--eh-type-xl); line-height: var(--eh-lh-xl); color: var(--eh-text-primary); }
.eh-modal__body { margin: var(--eh-space-20) 0 0; font-family: var(--eh-font-body); font-size: var(--eh-type-base); line-height: 150%; color: var(--eh-text-primary); }
.eh-modal__field { display: flex; margin: var(--eh-space-20) 0 0; }
.eh-modal__field .eh-input { width: 100%; }
.eh-modal__error { margin: var(--eh-space-10) 0 0; font-family: var(--eh-font-body); font-size: var(--eh-type-sm); color: var(--eh-feedback-error); }
.eh-modal__actions { display: flex; align-items: center; justify-content: flex-end; gap: var(--eh-space-10); margin: var(--eh-space-20) 0 0; }
.eh-overlay { position: fixed; inset: 0; z-index: 999; display: flex; align-items: center; justify-content: center; padding: var(--eh-space-20); background: var(--eh-overlay-modal); }

/* text role classes — feature CSS never writes font-size (DS feedback 2026-09-09) */
.eh-text-body { font-family: var(--eh-font-body); font-weight: 400; font-size: var(--eh-type-base); line-height: var(--eh-lh-base); color: var(--eh-text-primary); }
.eh-text-meta { font-family: var(--eh-font-body); font-weight: 400; font-size: var(--eh-type-sm); line-height: var(--eh-lh-sm); color: var(--eh-text-secondary); }
.eh-text-caption { font-family: var(--eh-font-body); font-weight: 400; font-size: var(--eh-type-xs); line-height: var(--eh-lh-xs); color: var(--eh-text-secondary); }
.eh-text-subsection { font-family: var(--eh-font-medium); font-weight: 400; font-size: var(--eh-type-lg); line-height: var(--eh-lh-lg); color: var(--eh-text-primary); }
.eh-text-section { font-family: var(--eh-font-medium); font-weight: 400; font-size: var(--eh-type-xl); line-height: var(--eh-lh-xl); color: var(--eh-text-primary); }
.eh-text-page-title { font-family: var(--eh-font-display); font-weight: 400; font-size: var(--eh-type-3xl); line-height: var(--eh-lh-3xl); color: var(--eh-text-heading); }

/* icon size scale (DS feedback 2026-09-09) */
.eh-svgico--sm { width: var(--eh-icon-sm); height: var(--eh-icon-sm); }
.eh-svgico--md { width: var(--eh-icon-md); height: var(--eh-icon-md); }
.eh-svgico--lg { width: var(--eh-icon-lg); height: var(--eh-icon-lg); }

/* toggle switch width variants: the fixed 285px row wraps long Finnish labels */
.eh-togglebutton--auto { width: auto; min-width: 285px; white-space: nowrap; }
.eh-togglebutton--full { width: 100%; }

/* content-type tabs: bare row for inline controls (no outer padding, no divider) */
.eh-typetabs--bare { padding: 0; }
.eh-typetabs--bare .eh-typetabs__list { border-bottom: 0; }

/* section tabs — v2-native element (product-owner decision 2026-09-09, first use: the Totem study-plans list). Underline tab row that switches VIEWS of one page: no divider, no background, tabs bottom-aligned. The 4px underline and the 1px focus ring are element geometry (like the toggle knob), not spacing tokens. Content-type tabs (filled, on a divider) stay for content-category rows. Canonical markup: div.eh-sectabs[role=tablist] > button.eh-sectabs__tab[role=tab] — the tab rule resets the button chrome (background/border/padding/font/color) so only DS styling remains. No media query: the app adds .eh-sectabs--mobile under its own breakpoint. */
.eh-sectabs { display: flex; align-items: flex-end; gap: var(--eh-space-40); margin: 0; padding: 0; }
.eh-sectabs--mobile { gap: var(--eh-space-30); flex-wrap: nowrap; overflow-x: auto; }
.eh-sectabs__tab { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-align: left; display: grid; grid-template-columns: auto auto; align-items: baseline; column-gap: var(--eh-space-10); row-gap: var(--eh-space-10); flex: none; font-family: var(--eh-font-body); font-size: var(--eh-type-lg); line-height: var(--eh-lh-lg); color: var(--eh-text-primary); cursor: pointer; }
.eh-sectabs__label { display: block; }
.eh-sectabs__count { display: block; font-family: var(--eh-font-body); color: var(--eh-text-secondary); }
.eh-sectabs__line { grid-column: 1 / -1; height: 4px; background: transparent; }
.eh-sectabs__tab--active .eh-sectabs__label, .eh-sectabs__tab.is-active .eh-sectabs__label { font-family: var(--eh-font-bold); }
.eh-sectabs__tab--active .eh-sectabs__line, .eh-sectabs__tab.is-active .eh-sectabs__line { background: var(--eh-action-primary); }
.eh-sectabs__tab:not(.eh-sectabs__tab--active):not(.is-active):hover .eh-sectabs__line, .eh-sectabs__tab.is-hover:not(.eh-sectabs__tab--active):not(.is-active) .eh-sectabs__line { background: var(--eh-border-strong); }
.eh-sectabs__tab:focus-visible, .eh-sectabs__tab.is-focus { outline: 1px solid var(--eh-border-focus); }
