body, html { margin: 0; padding: 0; height: 100%; font-family: Tahoma, sans-serif; overflow: hidden; }
.desktop { background-color: #004e98; background-image: url('images/xp-bg.jpg'); background-size: cover; background-position: center; height: calc(100vh - 40px); padding: 20px; position: relative; display: flex; flex-direction: column; gap: 20px; align-items: flex-start; flex-wrap: wrap; align-content: flex-start; }

/* --- UPRAVENÉ IKONY NA PLOŠE --- */
.icon { 
    width: 90px; 
    text-align: center; 
    cursor: pointer; 
    padding: 5px; 
    margin-bottom: 5px; 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: flex-end; 
}
.icon:hover { background-color: rgba(255, 255, 255, 0.2); border-radius: 4px; }
.icon-text { color: white; font-size: 12px; text-shadow: 1px 1px 2px black; word-wrap: break-word; margin-top: 5px; }

/* CSS SPRITES - HLAVNÍ TŘÍDA A ODSTRANĚNÍ ČERNÉ BARVY */
.sprite-ikona {
    background-image: url('images/ikony.png');
    background-repeat: no-repeat;
    background-size: 512px auto; /* Zmenšíme původní velký obrázek na polovinu, aby ikonky lícovaly s plochou */
    display: block;
    mix-blend-mode: screen; /* Udělá černé pozadí 100% průhledným! */
    filter: drop-shadow(0px 0px 3px rgba(255,255,255,0.4));
}

/* PŘESNÉ PIXELOVÉ SOUŘADNICE Z TVÉHO NOVÉHO OBRÁZKU */
.ikona-polis    { width: 93px; height: 98px; background-position: -31px -32px; transform: scale(0.65); margin-bottom: -15px; margin-top: -10px; }
.ikona-zatykac  { width: 53px; height: 64px; background-position: -149px -44px; margin-bottom: 5px; }
.ikona-hovory   { width: 62px; height: 98px; background-position: -324px -27px; transform: scale(0.75); margin-bottom: -10px; margin-top: -5px; }
.ikona-gps      { width: 54px; height: 89px; background-position: -47px -155px; transform: scale(0.8); margin-bottom: -5px; }
.ikona-manual   { width: 77px; height: 79px; background-position: -134px -161px; transform: scale(0.85); margin-bottom: -5px; }
.ikona-slozka   { width: 71px; height: 60px; background-position: -224px -172px; margin-bottom: 5px; }
.ikona-email    { width: 69px; height: 47px; background-position: -313px -181px; margin-bottom: 12px; margin-top: 5px; }
.ikona-registr  { width: 70px; height: 61px; background-position: -405px -168px; margin-bottom: 5px; }

/* --- ZBYTEK STYLŮ (Okna, taskbar, chaty atd.) --- */
.taskbar { height: 40px; background: linear-gradient(to bottom, #245edb 0%, #3f8cf3 9%, #245edb 18%, #245edb 92%, #333 100%); display: flex; justify-content: space-between; align-items: center; padding: 0 10px; color: white; position: fixed; bottom: 0; width: 100%; z-index: 9999; }
.start-btn { background: linear-gradient(to bottom, #429f46 0%, #4cb84f 10%, #3b8e3e 100%); border: none; border-radius: 0 10px 10px 0; color: white; font-weight: bold; font-style: italic; padding: 5px 15px; height: 30px; cursor: pointer; box-shadow: inset 1px 1px 2px rgba(255,255,255,0.5), 1px 1px 3px rgba(0,0,0,0.5); }
.start-btn:hover { background: linear-gradient(to bottom, #52b056 0%, #5cc95f 10%, #4ba04f 100%); }
.time { font-size: 13px; padding-right: 20px; }

.window { background-color: #ece9d8; border: 3px solid #0053e5; border-radius: 8px 8px 0 0; position: absolute; display: none; box-shadow: 2px 2px 10px rgba(0,0,0,0.5); }
.title-bar { background: linear-gradient(to bottom, #0058ee 0%, #3593ff 8%, #288eff 40%, #127dff 88%, #036bfe 100%); padding: 5px; color: white; font-weight: bold; font-size: 14px; display: flex; justify-content: space-between; align-items: center; cursor: grab; }
.title-bar-controls button { background-color: #e24936; color: white; border: 1px solid white; border-radius: 3px; font-weight: bold; cursor: pointer; }
.window-body { padding: 15px; font-size: 13px; color: #000; }
.vysledky-box { height: 180px; overflow-y: auto; background: #fff; border: 1px inset #ccc; padding: 10px; }

.file-item, .email-item { padding: 8px; margin-bottom: 5px; cursor: pointer; border: 1px solid transparent; }
.file-item:hover, .email-item:hover { background-color: #dbeaf9; border: 1px solid #0053e5; }
.active-email { background-color: #0053e5; color: white; }

.id-card { background: white; border: 2px solid #27ae60; border-radius: 8px; padding: 15px; display: flex; gap: 15px; box-shadow: 2px 2px 5px rgba(0,0,0,0.1); margin-bottom: 10px; }
.id-photo { width: 80px; height: 100px; background-color: #ccc; display: flex; align-items: center; justify-content: center; color: #666; font-size: 10px; border: 1px solid #999; }
.id-info h4 { margin: 0 0 10px 0; color: #1e8449; font-size: 18px; border-bottom: 1px solid #27ae60; }
.id-info p { margin: 3px 0; font-size: 13px; }

.chat-btn { background: #eee; border: 1px solid #999; padding: 8px; text-align: left; cursor: pointer; font-family: Tahoma; border-radius: 4px; margin-top: 5px; width: 100%; display: block;}
.chat-btn:hover { background: #dbeaf9; border-color: #0053e5; }
.msg-player { color: #0053e5; font-weight: bold; margin-bottom: 5px; }
.msg-npc { color: #222; margin-bottom: 15px; padding-left: 10px; border-left: 3px solid #8e44ad; }

.modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.75); z-index: 10000; display: flex; justify-content: center; align-items: center; }
.modal-box { background: #ece9d8; border: 3px solid #0053e5; padding: 25px; width: 500px; border-radius: 8px; box-shadow: 0 0 20px black; }

.chat-bubble-left { background: #e5e5ea; padding: 10px; border-radius: 15px; margin-bottom: 10px; width: fit-content; max-width: 80%; }
.chat-bubble-right { background: #dcf8c6; padding: 10px; border-radius: 15px; margin-bottom: 10px; width: fit-content; max-width: 80%; margin-left: auto; }
.excel-table { width: 100%; border-collapse: collapse; margin-top: 10px; }
.excel-table th, .excel-table td { border: 1px solid #ccc; padding: 5px; text-align: left; }
.excel-table th { background: #f0f0f0; }