/* --- IKON DEFINÍCIÓK (CSS VÁLTOZÓK) --- */
:root {
    --icon-hamburger: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 6l16 0" /><path d="M4 12l16 0" /><path d="M4 18l16 0" /></svg>');
    --icon-trash: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M16.5 4.478v.227a48.816 48.816 0 013.878.512.75.75 0 11-.256 1.478l-.209-.035-1.005 13.07a3 3 0 01-2.991 2.77H8.084a3 3 0 01-2.991-2.77L4.087 6.66l-.209.035a.75.75 0 01-.256-1.478A48.567 48.567 0 017.5 4.705v-.227c0-1.564 1.213-2.9 2.816-2.951a52.662 52.662 0 013.369 0c1.603.051 2.815 1.387 2.815 2.951zm-6.136-1.452a51.196 51.196 0 013.273 0C14.39 3.05 15 3.684 15 4.478v.113a49.488 49.488 0 00-6 0v-.113c0-.794.609-1.428 1.364-1.452zm-.355 5.945a.75.75 0 10-1.5.058l.347 9a.75.75 0 101.499-.058l-.346-9zm5.48.058a.75.75 0 10-1.498-.058l-.347 9a.75.75 0 001.5.058l.345-9z" clip-rule="evenodd" /></svg>');
    --icon-torch: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-5.5 0 32 32" fill="currentColor"><path d="M11.875 6v2.469c0 0.844-0.375 1.25-1.156 1.25s-1.156-0.406-1.156-1.25v-2.469c0-0.813 0.375-1.219 1.156-1.219s1.156 0.406 1.156 1.219zM14.219 9.25l1.438-2.031c0.469-0.625 1.063-0.75 1.656-0.313s0.656 1 0.188 1.688l-1.438 2c-0.469 0.688-1.031 0.75-1.656 0.313-0.594-0.438-0.656-0.969-0.188-1.656zM5.781 7.25l1.469 2c0.469 0.688 0.406 1.219-0.219 1.656-0.594 0.469-1.156 0.375-1.625-0.313l-1.469-2c-0.469-0.688-0.406-1.219 0.219-1.656 0.594-0.469 1.156-0.375 1.625 0.313zM10.719 11.125c2.688 0 4.875 2.188 4.875 4.875 0 2.656-2.188 4.813-4.875 4.813s-4.875-2.156-4.875-4.813c0-2.688 2.188-4.875 4.875-4.875zM1.594 11.813l2.375 0.75c0.781 0.25 1.063 0.719 0.813 1.469-0.219 0.75-0.75 0.969-1.563 0.719l-2.313-0.75c-0.781-0.25-1.063-0.75-0.844-1.5 0.25-0.719 0.75-0.938 1.531-0.688zM17.5 12.563l2.344-0.75c0.813-0.25 1.313-0.031 1.531 0.688 0.25 0.75-0.031 1.25-0.844 1.469l-2.313 0.781c-0.781 0.25-1.281 0.031-1.531-0.719-0.219-0.75 0.031-1.219 0.813-1.469zM10.719 18.688c1.5 0 2.719-1.219 2.719-2.688 0-1.5-1.219-2.719-2.719-2.719s-2.688 1.219-2.688 2.719c0 1.469 1.188 2.688 2.688 2.688zM0.906 17.969l2.344-0.75c0.781-0.25 1.313-0.063 1.531 0.688 0.25 0.75-0.031 1.219-0.813 1.469l-2.375 0.781c-0.781 0.25-1.281 0.031-1.531-0.719-0.219-0.75 0.063-1.219 0.844-1.469zM18.219 17.219l2.344 0.75c0.781 0.25 1.063 0.719 0.813 1.469-0.219 0.75-0.719 0.969-1.531 0.719l-2.344-0.781c-0.813-0.25-1.031-0.719-0.813-1.469 0.25-0.75 0.75-0.938 1.531-0.688zM3.938 23.344l1.469-1.969c0.469-0.688 1.031-0.781 1.625-0.313 0.625 0.438 0.688 0.969 0.219 1.656l-1.469 1.969c-0.469 0.688-1.031 0.813-1.656 0.375-0.594-0.438-0.656-1.031-0.188-1.719zM16.063 21.375l1.438 1.969c0.469 0.688 0.406 1.281-0.188 1.719s-1.188 0.281-1.656-0.344l-1.438-2c-0.469-0.688-0.406-1.219 0.188-1.656 0.625-0.438 1.188-0.375 1.656 0.313zM11.875 23.469v2.469c0 0.844-0.375 1.25-1.156 1.25s-1.156-0.406-1.156-1.25v-2.469c0-0.844 0.375-1.25 1.156-1.25s1.156 0.406 1.156 1.25z"></path></svg>');
    --icon-send: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path fill="currentColor" d="M5.7,10.8c-0.1,1,0.3,1.9,0.9,2.6l3.2,3.2c0.6,0.6,1.4,1,2.3,1c0.9,0,1.7-0.3,2.3-1l6.4-6.4c0.6-0.6,1-1.4,1-2.3 c0-0.9-0.3-1.7-1-2.3l-3.2-3.2c-0.7-0.7-1.6-1-2.6-0.9c-0.8,0.1-1.5,0.4-2,0.9L6.7,8.8C6.1,9.3,5.8,10.1,5.7,10.8 C5.7,10.8,5.7,10.8,5.7,10.8C5.7,10.8,5.7,10.8,5.7,10.8C5.7,10.8,5.7,10.8,5.7,10.8z M13.9,4.4l-0.5,4c-0.1,0.5-0.4,0.8-0.9,0.9 l-4,0.5L13.9,4.4z M12.8,11.2c1.4-0.2,2.5-1.2,2.6-2.6L16,3.7c0.1,0,0.1,0.1,0.2,0.1L19.4,7c0.5,0.5,0.5,1.3,0,1.8L13,15.2 c-0.5,0.5-1.3,0.5-1.8,0L8.1,12C8,11.9,8,11.8,7.9,11.8L12.8,11.2z"/><path fill="currentColor" d="M3,19c0.3,0,0.5-0.1,0.7-0.3l3-3c0.4-0.4,0.4-1,0-1.4s-1-0.4-1.4,0l-3,3c-0.4,0.4-0.4,1,0,1.4C2.5,18.9,2.7,19,3,19z"/><path fill="currentColor" d="M7.7,19.7l1-1c0.4-0.4,0.4-1,0-1.4s-1-0.4-1.4,0l-1,1c-0.4,0.4-0.4,1,0,1.4C6.5,19.9,6.7,20,7,20S7.5,19.9,7.7,19.7z"/></g></svg>');
    --icon-barcode-scan: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" class="h-8 w-auto" fill="currentColor" viewBox="0 0 100 50"><rect x="10" y="5" width="4" height="40" /> <rect x="18" y="5" width="8" height="40" /> <rect x="30" y="5" width="2" height="40" /> <rect x="36" y="5" width="6" height="40" /> <rect x="46" y="5" width="4" height="40" /> <rect x="54" y="5" width="2" height="40" /> <rect x="60" y="5" width="8" height="40" /> <rect x="72" y="5" width="4" height="40" /> <rect x="80" y="5" width="6" height="40" /> <rect x="90" y="5" width="4" height="40" /></svg>');
    --icon-backspace: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.6131 5.14653C6.18186 4.42266 7.05148 4 7.97206 4H20C21.6568 4 23 5.34315 23 7V17C23 18.6569 21.6568 20 20 20H7.97206C7.05148 20 6.18186 19.5773 5.6131 18.8535L1.68453 13.8535C0.829805 12.7656 0.829807 11.2344 1.68453 10.1465L5.6131 5.14653ZM7.97206 6C7.6652 6 7.37533 6.14089 7.18574 6.38218L3.25717 11.3822C2.97226 11.7448 2.97226 12.2552 3.25717 12.6178L7.18574 17.6178C7.37533 17.8591 7.6652 18 7.97206 18H20C20.5523 18 21 17.5523 21 17V7C21 6.44772 20.5523 6 20 6H7.97206Z" fill="currentColor"></path><path d="M11.7071 15.2938C11.3166 14.9033 11.3166 14.2701 11.7071 13.8796L13.5839 12.0027L11.7079 10.1267C11.3174 9.73617 11.3174 9.103 11.7079 8.71248C12.0984 8.32195 12.7316 8.32195 13.1221 8.71248L14.9982 10.5885L16.8796 8.70702C17.2702 8.3165 17.9033 8.3165 18.2938 8.70702C18.6844 9.09755 18.6844 9.73071 18.2938 10.1212L16.4124 12.0027L18.293 13.8833C18.6835 14.2739 18.6835 14.907 18.293 15.2975C17.9025 15.6881 17.2693 15.6881 16.8788 15.2975L14.9982 13.4169L13.1213 15.2938C12.7308 15.6843 12.0976 15.6843 11.7071 15.2938Z" fill="currentColor"></path></svg>');
    --icon-library: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M3 8.2C3 7.07989 3 6.51984 3.21799 6.09202C3.40973 5.71569 3.71569 5.40973 4.09202 5.21799C4.51984 5 5.0799 5 6.2 5H9.67452C10.1637 5 10.4083 5 10.6385 5.05526C10.8425 5.10425 11.0376 5.18506 11.2166 5.29472C11.4184 5.4184 11.5914 5.59135 11.9373 5.93726L12.0627 6.06274C12.4086 6.40865 12.5816 6.5816 12.7834 6.70528C12.9624 6.81494 13.1575 6.89575 13.3615 6.94474C13.5917 7 13.8363 7 14.3255 7H17.8C18.9201 7 19.4802 7 19.908 7.21799C20.2843 7.40973 20.5903 7.71569 20.782 8.09202C21 8.51984 21 9.0799 21 10.2V15.8C21 16.9201 21 17.4802 20.782 17.908C20.5903 18.2843 20.2843 18.5903 19.908 18.782C19.4802 19 18.9201 19 17.8 19H6.2C5.07989 19 4.51984 19 4.09202 18.782C3.71569 18.5903 3.40973 18.2843 3.21799 17.908C3 17.4802 3 16.9201 3 15.8V8.2Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    --icon-add-library: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M9 13H15M12 10V16M12.0627 6.06274L11.9373 5.93726C11.5914 5.59135 11.4184 5.4184 11.2166 5.29472C11.0376 5.18506 10.8425 5.10425 10.6385 5.05526C10.4083 5 10.1637 5 9.67452 5H6.2C5.0799 5 4.51984 5 4.09202 5.21799C3.71569 5.40973 3.40973 5.71569 3.21799 6.09202C3 6.51984 3 7.07989 3 8.2V15.8C3 16.9201 3 17.4802 3.21799 17.908C3.40973 18.2843 3.71569 18.5903 4.09202 18.782C4.51984 19 5.07989 19 6.2 19H17.8C18.9201 19 19.4802 19 19.908 18.782C20.2843 18.5903 20.5903 18.2843 20.782 17.908C21 17.4802 21 16.9201 21 15.8V10.2C21 9.0799 21 8.51984 20.782 8.09202C20.5903 7.71569 20.2843 7.40973 19.908 7.21799C19.4802 7 18.9201 7 17.8 7H14.3255C13.8363 7 13.5917 7 13.3615 6.94474C13.1575 6.89575 12.9624 6.81494 12.7834 6.70528C12.5816 6.5816 12.4086 6.40865 12.0627 6.06274Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    --icon-ok: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M21,4 C21.5128358,4 21.9355072,4.38604019 21.9932723,4.88337887 L22,5 L22,11.5 C22,13.3685634 20.5357224,14.8951264 18.6920352,14.9948211 L18.5,15 L5.415,15 L8.70710678,18.2928932 C9.06759074,18.6533772 9.09532028,19.2206082 8.79029539,19.6128994 L8.70710678,19.7071068 C8.34662282,20.0675907 7.77939176,20.0953203 7.38710056,19.7902954 L7.29289322,19.7071068 L2.29289322,14.7071068 C2.25749917,14.6717127 2.22531295,14.6343256 2.19633458,14.5953066 L2.12467117,14.4840621 L2.12467117,14.4840621 L2.07122549,14.371336 L2.07122549,14.371336 L2.03584514,14.265993 L2.03584514,14.265993 L2.0110178,14.1484669 L2.0110178,14.1484669 L2.00397748,14.0898018 L2.00397748,14.0898018 L2,14 L2.00278786,13.9247615 L2.00278786,13.9247615 L2.02024007,13.7992742 L2.02024007,13.7992742 L2.04973809,13.6878575 L2.04973809,13.6878575 L2.09367336,13.5767785 L2.09367336,13.5767785 L2.14599545,13.4792912 L2.14599545,13.4792912 L2.20970461,13.3871006 L2.20970461,13.3871006 L2.29289322,13.2928932 L2.29289322,13.2928932 L7.29289322,8.29289322 C7.68341751,7.90236893 8.31658249,7.90236893 8.70710678,8.29289322 C9.06759074,8.65337718 9.09532028,9.22060824 8.79029539,9.61289944 L8.70710678,9.70710678 L5.415,13 L18.5,13 C19.2796961,13 19.9204487,12.4051119 19.9931334,11.64446 L20,11.5 L20,5 C20,4.44771525 20.4477153,4 21,4 Z" /></svg>');
    --icon-cancel: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600" fill="currentColor"><path style="color:%23000000;fill:currentColor;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none;paint-order:stroke fill markers" d="m 300.60937,-12.792969 c -173.60599,0 -315.214839,141.724839 -315.214839,315.404299 0,173.67945 141.608849,315.40429 315.214839,315.40429 173.606,0 315.21485,-141.72484 315.21485,-315.40429 0,-173.67946 -141.60885,-315.404299 -315.21485,-315.404299 z m 0,84.082031 c 128.13278,10e-7 231.13086,103.052738 231.13086,231.322268 0,128.26952 -102.99808,231.32226 -231.13086,231.32226 C 172.4766,533.93359 69.476562,430.88085 69.476562,302.61133 69.476563,174.3418 172.4766,71.289062 300.60937,71.289062 Z"/><path style="color:%23000000;fill:currentColor;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none" d="M 416.16211,144.93164 A 42.041401,42.041401 0 0 0 386.4375,157.25391 L 155.30469,388.53125 a 42.041401,42.041401 0 0 0 0.0195,59.45703 42.041401,42.041401 0 0 0 59.45508,-0.0195 L 445.91211,216.69141 a 42.041401,42.041401 0 0 0 -0.0195,-59.45704 42.041401,42.041401 0 0 0 -29.73047,-12.30273 z"/><path style="color:%23000000;fill:currentColor;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none" d="m 185.05664,144.93164 a 42.041401,42.041401 0 0 0 -29.73242,12.30273 42.041401,42.041401 0 0 0 -0.0195,59.45704 L 386.4375,447.96875 a 42.041401,42.041401 0 0 0 59.45508,0.0195 42.041401,42.041401 0 0 0 0.0195,-59.45703 L 214.7793,157.25391 a 42.041401,42.041401 0 0 0 -29.72266,-12.32227 z"/></svg>');
    --icon-fullscreen: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 125"><g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><path d="M34.9972727,62.8203636 L24.5278182,73.2898182 L24.5278182,64.0689091 L20,64.0689091 L20,81.02 L36.9510909,81.02 L36.9510909,76.4905455 L27.7318182,76.4905455 L38.1996364,66.0227273 L34.9972727,62.8203636 L34.9972727,62.8203636 Z M64.0689091,20 L64.0689091,24.5278182 L73.2898182,24.5278182 L62.534,35.2836364 L65.7363636,38.486 L76.4905455,27.7318182 L76.4905455,36.9510909 L81.02,36.9510909 L81.02,20 L64.0689091,20 L64.0689091,20 Z M76.4905455,73.6923636 L65.2650909,62.4669091 L62.0627273,65.6692727 L73.2881818,76.8947273 L64.0689091,76.8947273 L64.0689091,81.4241818 L81.02,81.4241818 L81.02,64.4730909 L76.4905455,64.4730909 L76.4905455,73.6923636 L76.4905455,73.6923636 Z M36.9510909,24.932 L36.9510909,20.4041818 L20,20.4041818 L20,37.3552727 L24.5278182,37.3552727 L24.5278182,28.1343636 L35.0790909,38.6856364 L38.2814545,35.4832727 L27.7318182,24.932 L36.9510909,24.932 L36.9510909,24.932 Z" fill="currentColor"/></g></svg>');
    --icon-zoom-out: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M5 12h14" /></svg>');
    --icon-zoom-in: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15" /></svg>');
    --icon-camera-switch: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" stroke="currentColor"><path d="M21 6h-1.5a.5.5 0 0 1-.5-.5A1.502 1.502 0 0 0 17.5 4h-6A1.502 1.502 0 0 0 10 5.5a.5.5 0 0 1-.5.5H8V5H4v1H3a2.002 2.002 0 0 0-2 2v10a2.002 2.002 0 0 0 2 2h18a2.002 2.002 0 0 0 2-2V8a2.002 2.002 0 0 0-2-2zm1 12a1.001 1.001 0 0 1-1 1H3a1.001 1.001 0 0 1-1-1V8a1.001 1.001 0 0 1 1-1h2V6h2v1h2.5A1.502 1.502 0 0 0 11 5.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5A1.502 1.502 0 0 0 19.5 7H21a1.001 1.001 0 0 1 1 1zM8.2 13h-1a4.796 4.796 0 0 1 8.8-2.644V9h1v3h-3v-1h1.217A3.79 3.79 0 0 0 8.2 13zm7.6 0h1A4.796 4.796 0 0 1 8 15.644V17H7v-3h3v1H8.783a3.79 3.79 0 0 0 7.017-2z"/></svg>');
    --icon-user-switch: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd" viewBox="0 0 512 512"><path fill="currentColor" fill-rule="nonzero" d="M256 0c68 0 132.89 26.95 180.96 75.04C485.05 122.99 512 188.11 512 256c0 68-26.95 132.89-75.04 180.96-23.49 23.56-51.72 42.58-83.15 55.6C323.59 505.08 290.54 512 256 512c-34.55 0-67.6-6.92-97.83-19.44l-.07-.03c-31.25-12.93-59.42-31.93-83.02-55.54l-.07-.07C26.9 388.82 0 324.03 0 256 0 116.78 112.74 0 256 0zm-52.73 332.87a67.668 67.668 0 01-5.6-6.74c-10.84-14.83-20.55-31.61-30.32-47.22-7.06-10.41-10.78-19.71-10.78-27.14 0-7.95 4.22-17.23 12.64-19.34-1.11-15.99-1.49-31.77-.74-48.88.37-4.08 1.12-8.17 2.23-12.27 4.84-17.1 16.73-30.86 31.61-40.15 5.2-3.35 10.78-5.94 17.1-8.18 10.78-4.09 5.57-20.45 17.48-20.82 27.88-.74 73.61 23.06 91.46 42.38 10.41 11.16 17.1 26.03 18.22 45.74l-1.12 44.03c5.2 1.49 8.55 4.84 10.04 10.04 1.49 5.95 0 14.13-5.2 25.67 0 .36-.38.36-.38.74-11.47 18.91-23.39 40.77-36.57 58.33-6.63 8.83-12.07 7.26-6.42 15.74 26.88 36.96 79.9 31.82 112.61 56.44 35.73-40.16 55.15-91.48 55.15-145.24 0-58.34-22.8-113.35-64.07-154.61v-.08C369.44 60.1 314.23 37.32 256 37.32 134.4 37.32 37.32 135.83 37.32 256c0 53.85 19.41 105.03 55.15 145.24 32.72-24.62 85.73-19.48 112.61-56.44 4.68-7.01 3.48-6.33-1.81-11.93z"/></svg>');
}

/* --- IKON DEFINÍCIÓK VÉGE --- */

/* --- CHANGELOG --- */
/* 2025-10-01 14:09:52 - CSS frissítése a Keypad új elrendezéséhez. A felső Mégse és OK gombok flex arányainak beállítása (0.7:2.9). */
/* --- CHANGELOG VÉGE --- */

/* --- ÚJ IKON OSZTÁLYOK --- */
.icon {
    display: block;
    width: 100%;
    height: 100%;
    background-color: currentColor;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
}
.icon-hamburger { mask-image: var(--icon-hamburger); }
.icon-trash { mask-image: var(--icon-trash); }
.icon-torch { mask-image: var(--icon-torch); }
.icon-send { mask-image: var(--icon-send); }
.icon-barcode-scan { mask-image: var(--icon-barcode-scan); }
.icon-backspace { mask-image: var(--icon-backspace); }
.icon-library { mask-image: var(--icon-library); }
.icon-add-library { mask-image: var(--icon-add-library); }
.icon-ok { mask-image: var(--icon-ok); }
.icon-cancel { mask-image: var(--icon-cancel); }
.icon-fullscreen { mask-image: var(--icon-fullscreen); }
.icon-zoom-out { mask-image: var(--icon-zoom-out); }
.icon-zoom-in { mask-image: var(--icon-zoom-in); }
.icon-camera-switch { mask-image: var(--icon-camera-switch); }
.icon-user-switch { mask-image: var(--icon-user-switch); }

/* --- EREDETI, MEGLÉVŐ STÍLUSOK (MÓDOSÍTÁSOKKAL) --- */
/* Alap stílusok */
html, body { height: 100%; margin: 0; }
body {
    font-family: 'Inter', sans-serif;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
    background-color: #000000;
    padding: 1rem;
    box-sizing: border-box;
    font-size: 1em; /* Alapértelmezett betűméret */
    line-height: 1.5;
}
#video-container { position: relative; width: 95%; padding-top: 56.25%; margin-bottom: 1rem; margin-left: auto; margin-right: auto; border-radius: 0.5rem; overflow: hidden; box-shadow: 0 4px 6px rgba(255, 255, 255, 0.1); background-color: #1f2937; transition: opacity 0.3s ease-in-out; flex-shrink: 0; }
video { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%;}
#message-overlay {
    position: absolute; inset: 0; display: flex; flex-direction: column;
    align-items: center; justify-content: center; text-align: center;
    color: #f3f4f6; padding: 1rem; z-index: 10;
    background-color: rgba(0, 0, 0, 0.5); opacity: 1;
    transition: opacity 0.3s ease-in-out; white-space: pre-line;
    font-size: 1.5rem; /* Üzenet mérete marad */
    line-height: 1.5;
}
#message-overlay.hidden { opacity: 0; pointer-events: none; }
#message-overlay.error { color: #f87171; }
#message-overlay.success { color: #4ade80; }
#message-overlay.info { color: #60a5fa; }
.crosshair-line { background-color: red; opacity: 0.75; position: absolute; z-index: 20; }
.crosshair-line-h { top: 50%; left: 0; width: 100%; height: 1px; transform: translateY(-50%); }
.crosshair-line-v { left: 50%; top: 0; height: 100%; width: 1px; transform: translateX(-50%); }
#canvas { display: none; }
#keypad-container { flex-shrink: 0; }

/* --- Gomb Egységesítés --- */
.btn-base {
    display: flex; justify-content: center; align-items: center;
    height: 60px; transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
    touch-action: manipulation; font-weight: 700; border: none; cursor: pointer;
}
.btn-style-default {
    padding: 0.5rem 0.75rem; border-radius: 0.5rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    color: white; font-size: 1rem;
}
/* Keypad digit gombok speciális stílusa */
.btn-keypad-digit {
     font-size: 1.25rem; /* text-xl */
     line-height: 1.75rem;
}
/* Keypad OK/Mégse/Törlés gombok speciális stílusa (nagyobb padding) */
.btn-keypad-special { padding-top: 0.75rem; padding-bottom: 0.75rem; }

/* MÓDOSÍTÁS: Az SVG szabály helyett az .icon elem méretezése */
.btn-icon-std .icon {
    height: 2rem;
    width: 2rem;
}
/* --- Gomb Egységesítés Vége --- */

/* Keypad új elrendezés (A Tailwind flex segédosztályai a gap-et már kezelik) */
#keypad-cancel-button {
    flex: 0.33; /* A piros Mégse gomb mérete (kb. 1/4) */
}

#keypad-ok-button {
    flex: 0.78; /* A zöld OK gomb mérete (kb. 3/4) */
}


/* Aktív állapotok */
#torch-button.torch-on { background-color: #facc15 !important; color: #1f2937 !important; border-color: #facc15; }
#torch-button.torch-on:hover { background-color: #fcd34d !important; }
#submenu-fullscreen-button.fullscreen-on { background-color: #facc15 !important; color: #1f2937 !important; }
#submenu-fullscreen-button.fullscreen-on:hover { background-color: #fcd34d !important; }
/* Konténerek háttere */
#keypad-container, #control-button-grid, #function-submenu-grid { background-color: #4b5563; }
/* Előzmények */
#scan-history-container { background-color: #374151; color: #f3f4f6; overflow-y: auto; overflow-x: hidden; border-radius: 0.5rem; padding: 1rem; width: 95%; margin: 0 auto 1rem auto; }
/* Lista elemek stílusai */
#scan-history-list li {
    border-bottom: 1px solid #4b5563; padding: 0.5rem 0.25rem;
    word-break: break-all; cursor: pointer; transition: background-color 0.2s ease;
    font-size: 1.5em; /* Csökkentettük az eredeti 1.5em-ről */
    line-height: 1.4;
}
/* Dátum kijelzés stílusa a listában */
#scan-history-list li .list-meta {
    display: block; /* Új sorba törés */
    font-size: 0.85em; /* Kisebb betűméret */
    color: #9ca3af; /* Tailwind gray-400 */
    margin-top: 0.25rem; /* Kis térköz felette */
}
#scan-history-list li:last-child { border-bottom: none; }
#scan-history-list li:nth-child(even) { background-color: #4B5563; }
#scan-history-list li:hover:not(.selected-history-item) { background-color: #6B7280; }
#scan-history-list li.selected-history-item { background-color: #facc15; color: #1f2937; }
#scan-history-list li.selected-history-item .list-meta { color: #4b5563; } /* Sötétebb dátum sárga háttéren */


/* --- JAVÍTOTT Dinamikus Gomb Elrendezés (Vissza Gomb) --- */

/* A Vissza és Beolvasás gombokat tartalmazó flex konténer */
#capture-button-wrapper {
    display: flex;
    gap: 0.5rem;
    width: 100%;
}

/* A Vissza gomb alapértelmezetten rejtett */
#control-back-button {
    display: none;
}

/* A Beolvasás gomb alapértelmezetten teljes szélességű */
#capture-button {
    flex: 1 1 100%;
    width: 100%;
}

/* AMIKOR A VISSZA GOMB SZÜKSÉGES: */
/* A szülő konténer .has-back-button osztályt kap a JS-től */

/* A Vissza gomb megjelenítése */
#control-button-grid.has-back-button #control-back-button {
    display: flex;
    flex: 0.7; /* Beállítjuk az arányt (kb. 1/4) */
}

/* A Beolvasás gomb méretének csökkentése */
#control-button-grid.has-back-button #capture-button {
    flex: 2.9; /* Beállítjuk az arányt (kb. 3/4) */
}