body {
    font-family: Arial, sans-serif;
    margin: 0;
}

.layout {
    display: flex;
    min-height: 100vh;
}

.sidebar {
    width: 180px;
    padding: 10px;
    border-right: 1px solid #ccc;
}

.sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidebar li {
    margin-bottom: 20px;
}

.sidebar a {
    text-decoration: none;
    color: black;
}

.content {
    flex: 1;
    padding: 20px;
}
.topbar {
    display: flex;
    justify-content: space-between;
    background-color: #6dd6fb;
    padding: 15px 20px;
    margin: -20px -20px 20px -20px;
    font-size: 22px;
}
.map {
    position: relative;
    width: 700px;
    max-width: 100%;
}

.map img {
    width: 100%;
    display: block;
}
.sector {
    position: absolute;
    transform: translate(-50%, -50%);
    font-size: 14px;
    font-weight: bold;
    color: black;
    text-decoration: none;
    background-color: rgba(255, 255, 255, 0.6);
    padding: 1px 4px;
    border-radius: 3px;
    left: calc(var(--x) * 1%);
    top: calc(var(--y) * 1%);
}

.sector:hover {
    background-color: yellow;
}
.sector-info {
    margin-bottom: 20px;
}

.columns {
    display: flex;
    border-top: 1px solid #ccc;
}

.column {
    flex: 1;
    padding: 20px;
}

.column + .column {
    border-left: 1px solid #ccc;
}
.row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px;
    margin-bottom: 25px;
}

.row-title {
    width: 100%;
    font-size: 16px;
}

.row-note {
    color: gray;
    font-size: 14px;
}

.row label {
    display: flex;
    flex-direction: column;
    font-size: 13px;
}

.row input,
.row select {
    width: 110px;
    padding: 5px;
    font-size: 15px;
}

.fixed-type {
    font-size: 14px;
    padding-bottom: 8px;
}
.actions {
    display: flex;
    align-items: flex-end;
    gap: 20px;
    padding: 20px;
    border-top: 1px solid #ccc;
}

.actions label {
    display: flex;
    flex-direction: column;
    font-size: 13px;
}

.actions input {
    padding: 5px;
    font-size: 15px;
}

.actions button {
    padding: 8px 24px;
    font-size: 16px;
    cursor: pointer;
}
.back {
    display: inline-block;
    font-size: 28px;
    text-decoration: none;
    color: black;
    padding: 0 10px;
    margin-bottom: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.back:hover {
    background-color: #eee;
}
.flash {
    background-color: #e6f7e6;
    border: 1px solid #9fd69f;
    padding: 10px 15px;
    margin-bottom: 15px;
    border-radius: 4px;
}

.table-wrap {
    overflow-x: auto;
    margin-bottom: 30px;
}

.history {
    border-collapse: collapse;
    font-size: 14px;
}

.history th,
.history td {
    border: 1px solid #999;
    padding: 4px 8px;
    text-align: center;
}

.history th {
    background-color: #f0f0f0;
}

.danger {
    color: #a00;
    cursor: pointer;
}

.cell-actions form {
    display: inline;
    margin-left: 8px;
}

.row input.wide {
    width: 400px;
}

.login-box {
    max-width: 320px;
    margin: 100px auto;
    padding: 30px;
    border: 1px solid #ccc;
    border-radius: 6px;
}

.login-box label {
    display: flex;
    flex-direction: column;
    margin-bottom: 15px;
}

.login-box input {
    padding: 8px;
    font-size: 16px;
}

.login-box button {
    width: 100%;
    padding: 10px;
    font-size: 16px;
    cursor: pointer;
}

.weighing {
    padding: 20px;
    border-top: 1px solid #ccc;
}

.history tr.weighed td {
    background-color: #fff6cc;
}

.summary {
    margin-bottom: 25px;
}

.summary-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 10px;
}

.card {
    border: 1px solid #ccc;
    border-radius: 6px;
    padding: 10px 16px;
    min-width: 150px;
    font-size: 14px;
}

.card .num {
    font-size: 28px;
    font-weight: bold;
}

.history tr.inactive td {
    color: #999;
}

.grafik td.day {
    width: 26px;
    height: 26px;
    padding: 0;
    cursor: pointer;
}

.grafik td.name {
    text-align: left;
    white-space: nowrap;
}

.grafik td.day.on {
    background-color: #7fd37f;
}

.grafik td.day.gap {
    background-color: #ffd6d6;
}

.warn {
    color: #a00;
    font-size: 13px;
}


.tile {
    text-decoration: none;
    color: black;
    min-width: 220px;
    padding: 24px;
}

.tile:hover {
    background-color: #eef7ff;
}


.history td.neg {
    background-color: #f3f3f3;
    letter-spacing: 3px;
}

.history {
    white-space: nowrap;
}

.plan {
    color: #999;
    font-style: italic;
}

.history tr.lvl-ok td { background-color: #e6f7e6; }
.history tr.lvl-warn td { background-color: #fff6cc; }
.history tr.lvl-error td { background-color: #ffd6d6; }

.history tr.lvl-new td { background-color: #dff0ff; }

.bunkers {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 15px 0 20px;
}

.bunker {
    width: 92px;
    padding: 6px;
    text-align: center;
    font-size: 13px;
    border: 1px solid #888;
    border-radius: 12px 12px 4px 4px;
    background: linear-gradient(#ececec, #bcbcbc);
}

.bunker .bn {
    font-size: 18px;
    font-weight: bold;
}

.bunker .crop {
    min-height: 54px;
    color: #1a3fa0;
}

.bunker .counter {
    background: #fff;
    border: 1px solid #aaa;
    color: #0a7a0a;
    font-size: 15px;
    font-weight: bold;
    padding: 3px 0;
}

.bunker .own {
    font-size: 11px;
    color: #555;
    margin: 4px 0 10px;
}

.bunker input {
    width: 100%;
    box-sizing: border-box;
    padding: 4px;
}