/* Styling TI Modal popup window */

/* Toplinjen er fikseret, saa indholdet skal skubbes ned under den. Hoejden staar
   ét sted, og #content regner sin clearance ud fra den. */
:root {
    --topnav-height: 31px;      /* 30px + 1px kant */
}


.topnav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 30px;
    background-color: #ededed;
    display: flex;
    align-items: center;
    justify-content: space-between; /* ← tilføjet */
    padding: 0 20px;
    z-index: 1000;
    border-bottom: 1px solid #ccc;
    flex-wrap: wrap;
}

/* Venstreside: logo + menu */
.nav-left {
    display: flex;
    align-items: center;
    gap: 30px;
}

.logo {
    font-size: 20px;
    font-weight: bold;
}

/* Links */
.menu {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.menu a {
    text-decoration: none;
    color: #000;
    font-size: 12px;
    padding: 7px 10px;
    background-color: #cccccc;
    height: 16px;
    transition: background-color 0.6s ease;
    cursor: pointer;
}

.menu a:hover {
    background-color: #999999;
    color: #fff;
}

/* Aktiv fane - samme blaa som tabel-headere */
.menu a.active,
.menu a.active:hover {
    background-color: #607D8B;
    color: #fff;
}

/* Shoptype-vaelgeren paa siderne uden en Vaelg aar-raekke at staa i */
.sidevaelgere {
    float: right;
    font-size: 12px;
    color: #333;
    margin: 0 0 5px 15px;
}

.sidevaelgere select {
    font-size: 12px;
}

/* "Logget ind som" i headeren, lige til venstre for Log ud */
.logged-in-as {
    font-size: 12px;
    color: #333;
    white-space: nowrap;
}

/* Højreside: bruger + logout */
.nav-right {
    display: flex;
    align-items: center;
    gap: 15px;
}

.shop-type-select {
    padding: 3px 6px;
    font-size: 12px;
}

.logout-button {
    padding: 3px 8px;
    font-size: 12px;
    background-color: #999;
    color: white;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.logout-button:hover {
    background-color: #666;
}

#content {
    padding-top: calc(var(--topnav-height) - 20px);   /* -20px: body har allerede margin: 20px */
}

/* Kvittering og fejl paa de almindelige sider (fx Opret GLS Felter) */
.besked {
    font-size: 12px;
    line-height: 1.6;
    padding: 8px 12px;
    margin: 0 0 15px 0;
    border-radius: 3px;
    max-width: 900px;
}

.besked-ok {
    background-color: #e6f4e6;
    border: 1px solid #9ccc9c;
}

.besked-fejl {
    background-color: #fbe3e3;
    border: 1px solid #e0a0a0;
}

/* Markering i toppen naar databasestrukturen mangler at blive opdateret */
.skema-markering {
    font-size: 12px;
    color: #7a4a00;
    background-color: #ffe9b0;
    border: 1px solid #e0c74a;
    border-radius: 3px;
    padding: 4px 8px;
    text-decoration: none;
    white-space: nowrap;
}

.skema-markering:hover {
    background-color: #ffd977;
}

/* Undermenu under fanerne, fx Indstillinger */
.undermenu {
    display: flex;
    gap: 10px;
    margin: 0 0 15px 0;
    border-bottom: 1px solid #ccc;
    padding-bottom: 8px;
}

.undermenu a {
    font-size: 12px;
    text-decoration: none;
    color: #333;
    background-color: #ededed;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 5px 10px;
}

.undermenu a.active {
    background-color: #607D8B;
    border-color: #607D8B;
    color: #fff;
}

/* Database-siden */
.skema-intro {
    font-size: 12px;
    color: #444;
    max-width: 900px;
    line-height: 1.6;
}

.skema-besked {
    font-size: 12px;
    padding: 6px 10px;
    margin: 0 0 4px 0;
    border-radius: 3px;
}

.skema-besked-ok {
    background-color: #e6f4e6;
    border: 1px solid #9ccc9c;
}

.skema-besked-fejl {
    background-color: #fbe3e3;
    border: 1px solid #e0a0a0;
}

.skema-handlinger {
    border-collapse: collapse;
    margin: 15px 0;
    font-size: 12px;
}

.skema-handlinger th,
.skema-handlinger td {
    text-align: left;
    padding: 6px 20px 6px 0;
    vertical-align: middle;
}

.skema-handlinger th {
    border-bottom: 1px solid #ccc;
}

.skema-handling-navn {
    color: #666;
}

.skema-db {
    color: #888;
    font-weight: normal;
}

.skema-knap {
    font-size: 12px;
    padding: 5px 10px;
    background: #607D8B;
    color: #fff;
    border: 1px solid #4d6673;
    border-radius: 3px;
    cursor: pointer;
}

.skema-knap:hover {
    background: #4d6673;
}

.skema-knap-svag {
    background: #ededed;
    color: #333;
    border-color: #ccc;
}

.skema-knap-svag:hover {
    background: #ddd;
}

.skema-filter {
    font-size: 12px;
    color: #666;
}

.skema-tabel {
    font-size: 12px;
}

.skema-ok      { color: #2e7d32; }
.skema-mangler { color: #b00020; font-weight: bold; }
.skema-afviger { color: #9a6b00; border-bottom: 1px dotted #9a6b00; cursor: help; }
.skema-ekstra  { color: #666; font-style: italic; }
.skema-fejl    { color: #b00020; }
.skema-antal   { color: #999; }

.skema-noegleord {
    font-size: 10px;
    color: #666;
    background: #ededed;
    border-radius: 2px;
    padding: 1px 4px;
    margin-left: 4px;
}

.skema-note {
    font-size: 10px;
    color: #777;
    margin-top: 2px;
}

.skema-h2 {
    font-size: 14px;
    margin-top: 25px;
}

.skema-sql {
    font-family: Consolas, monospace;
    font-size: 11px;
    background: #f7f7f7;
    border: 1px solid #ddd;
    padding: 10px;
    overflow-x: auto;
    max-height: 300px;
}

/* Mobilvenlig */
@media (max-width: 600px) {
    .topnav {
        flex-direction: column;
        height: auto;
        align-items: flex-start;
        padding: 10px;
    }

    .nav-left,
    .nav-right {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        width: 100%;
    }

    .menu {
        flex-direction: column;
        gap: 10px;
        width: 100%;
    }

    .menu a,
    .shop-type-select,
    .logout-button {
        width: 100%;
    }

    /* Paa smal skaerm er headeren hoejdevariabel - lad den floede med i stedet
       for at ligge fast, saa indholdet ikke bliver daekket. */
    .topnav {
        position: static;
    }

    #content {
        padding-top: 10px;
    }
}











.beeModalPage {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    position:fixed;
    left: 0;
    top: 0;
    margin: 0;
    background-color:rgba(255, 255, 255, 0.5);
    display:none;
    width:100%;
    height:100%;
    z-index: 100;
}

.beeModal {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    position:relative;
    top:110px;
    padding:10px;
    background-color:#ffffff;
    /*width:1000px;
    height: 75%;
    min-height:400px; */
    display:block;
    box-shadow: 0 0 15px 5px rgba(0, 0, 0, 0.35);
    border-radius: 4px 4px;
    margin: 0 auto;
}

.beeModalWdHt {
    width:1000px;
    height: 75%;
    min-height:400px;
}



.beeModalHeader {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    border: 1px solid #aaaaaa;
    background: #cccccc url(../gfx/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;
    position: relative;
    top: -8px;
    left: -8px;
    padding: 5px;
    width: calc(100% + 4px);
    border-radius: 3px 3px;
    margin: 0 0 10px 0;
}

.beeModalHeaderClose {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    height:20px;
    width:21px;
    background: #cccccc url(../gfx/ui-button.png) 50% 50% repeat-x;
    float:right;
    margin: -2px -3px;
    cursor:pointer;
}

.beeModalHeaderClose:hover {
    background: #cccccc url(../gfx/ui-button-over.png) 50% 50% repeat-x;
}

.beeModalButtonClose {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    height:20px;
    cursor:pointer;
}

.beeModalHeaderText {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: bold;
    color: #000000;
    margin: 0 5px;
}

.beeModalText {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    color:#000;
}

.beeModalButton {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    border: 1px solid #d3d3d3;
    /* background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;*/
    font-weight: normal;
    color: #555555;
    margin:15px 0 0 10px;
    padding:5px;
    cursor:pointer;
}

.table_with_pointer > tbody > tr > td {
    cursor: pointer;
}

div.main {
    float: left;
    margin: 20px;
    width: 800px;
}
table.webShopTbl {
    border: 0px;
    border-spacing: 0px;
    table-layout: fixed;
    width: 800px;
}
table.webShopTbl th {
    background-color: #666;
    border-bottom: 1px solid #999;
    color: #FFF;
    padding: 4px;
    text-align: left;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
table.webShopTbl th span {
    float: left;
}

table.webShopTbl tr:hover {
    background-color: #eee;
}
table.webShopTbl td {
    border-bottom: 1px solid #CCC;
    overflow: hidden;
    padding: 4px;
    min-height:25px;
    text-align: left;
    text-overflow: ellipsis;
}
span.sortASC, span.sortDESC {
    border-left: 6px solid rgba(0, 0, 0, 0);
    border-right: 6px solid rgba(0, 0, 0, 0);
    margin: 3px 0 3px 4px;
}
span.sortASC {
    border-bottom: 6px solid #AAA;
}
span.sortDESC {
    border-top: 6px solid #AAA;
}
.beesite_datepicker {
    width: 80px;
}

.grayDiv {
    background-color: #efefef;
    display: inline-block;
    width: 880px;
    padding: 10px;
}
.btnWrpr {
    display: inline-block;
    width: 900px;
    text-align: right;
    padding-top: 8px;
}
.kundeTbl {
    display: inline-block;
    margin: 10px;
    table-layout: fixed;
    width: calc(50% - 22px);
    border: 0;
    border-spacing: 1px;
}
.setupTbl td {
    vertical-align: top;
}
.setupDivHalfSize {
    display: inline-block;
    width: 50%;
    float: left;
}
.setupDivHalfSize label {
    display: block;
}
.setupDivHalfSize label.leftLbl {
    display: inline-block;
    text-align: right;
    margin-right: 8px;
    width: 128px;
}

.formHdr {
    font-weight: bold;
}
.formHdr > span {
    margin: 0 0 4px 0;
}
.sp1 {
    display: inline-block;
    padding: 0 8px 0 0;
    text-align: right;
    vertical-align: top;
    width: 128px;
}
#formFields .sp1 {
    line-height: 1.75em;
}
.sp2 {
    display: inline-block;
    width: 200px;
}
.sp3 {
    display: inline-block;
    text-align: center;
    vertical-align: top;
    width: 64px;
}
.sp4 {
    display: inline-block;
    text-align: left;
    vertical-align: top;
    width: 340px;
}
#formFields > div {
    border: 1px solid #eee;
    width: 820px;
}
#formFields > div:hover{
    border: 1px solid rgb(255, 201, 67);
}
#formFields .sp2 input {
    vertical-align: middle;
    width: 200px;
}
#formFields .sp2 textarea {
    height: 4em;
    margin-top: 2px;
    width: 200px;
}
#formFields .sp4 input {
    width: 340px;
}
#formFields > div span.ffTools {
    visibility: hidden;
    background-color: rgb(255, 201, 67);
    float: right;
}
#formFields > div span.ffTools img {
    cursor: pointer;
    margin: 2px;
}
#formFields > div.ffRequired span.ffTools img:first-child {
    cursor: default;
    opacity: 0.3;
}
#formFields > div:hover span.ffTools {
    visibility: visible;
}

#prdEdtTabl {
    height: 600px;
    width: 100%;
}
#prdEdtTabl td {
    padding: 5px 10px;
    vertical-align: top;
    width: 50%;
}
#prdSrcDiv, #prdDstDiv {
    background-color: #fff;
    border: 1px solid #aaa;
    height: 530px;
    overflow-x: hidden;
    overflow-y: auto;
    padding-bottom: 100px;
}
#prdSrcDiv > div, #prdDstDiv > div {
    background-color: #fff;
    border: 1px solid #aaa;
    margin: 8px;
}
#prdSrcDiv > div:hover, #prdDstDiv > div:hover {
    border: 1px solid rgb(255, 201, 67);
    box-shadow: 1px 1px 6px 1px rgba(255, 201, 67, 0.5);
    cursor: move;
}
#prdSrcDiv > div div, #prdDstDiv > div div {
    display: inline-block;
    vertical-align: top;
    width: 50%;
}
#prdSrcDiv > div div.img, #prdDstDiv > div div.img {
    text-align: center;
}

.mini_img {
    max-width: 32px;
    max-height: 32px;

}

#prdSrcDiv > div div.descr, #prdDstDiv > div div.descr {
    padding: 8px 0;
}
#prdSrcDiv img, #prdDstDiv img {
    margin: 4px;
    max-height: 75px;
    max-width: 100px;
}

.beesite_datepicker {
    width: 80px;
}

/* ------------------ CSS FOR ERROR AND WARNING DIALOG ------------------ */
.ui-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    z-index: 2147483647; /* “overkill” høj */
    display: none;
}

/* Center dialog */
.ui-dialog {
    position: absolute;
    left: 50%;
    top: 15%;
    transform: translateX(-50%);
    width: min(320px, calc(100% - 24px));
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.35);
    overflow: hidden;
    font-family: Arial, sans-serif;
}

/* Header */
.ui-dialog__head {
    padding: 12px 14px;
    background: #f3f3f3;
    border-bottom: 1px solid #ddd;
    font-weight: 700;
}

/* Body */
.ui-dialog__body {
    padding: 14px;
    line-height: 1.35;
    white-space: pre-wrap; /* keep new line */
}

/* Footer with button to the right */
.ui-dialog__foot {
    padding: 12px 14px;
    border-top: 1px solid #eee;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

/* Buttons */
.ui-dialog__btn {
    border: 1px solid #999;
    background: #fff;
    padding: 8px 12px;
    border-radius: 8px;
    cursor: pointer;
}

.ui-dialog__btn--primary {
    /*border-color: #2b7cff;
    background: #2b7cff;
    color: #fff; */
}

/* Optional (no-scroll) */
body.ui-noscroll {
    overflow: hidden;
}

.ui-spinner {
    width: 22px;
    height: 22px;
    border: 3px solid rgba(0,0,0,0.15);
    border-top-color: rgba(0,0,0,0.65);
    border-radius: 50%;
    animation: uiSpin 0.8s linear infinite;
    flex: 0 0 auto;
    margin-right: 10px;
}

@keyframes uiSpin {
    to { transform: rotate(360deg); }
}

.ui-busy-row {
    display: flex;
    align-items: center;
}