/* Linie date picker (2026-11-13) - see assets/js/ln-datepicker.js */
.ln-date-input { cursor: pointer; background-color: #fff !important; caret-color: transparent; }
.ln-dp {
    position: absolute;
    z-index: 2000;
    width: 304px;
    padding: 14px;
    background: #fff;
    border: 1px solid #e2e7ee;
    border-radius: 14px;
    box-shadow: 0 12px 32px rgba(16, 24, 40, .18), 0 2px 6px rgba(16, 24, 40, .08);
    font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    color: #27313d;
    box-sizing: border-box;
    -webkit-user-select: none;
    user-select: none;
    text-align: center;
    line-height: 1.2;
}
.ln-dp * { box-sizing: border-box; }
.ln-dp-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.ln-dp-title { font-size: 16px; font-weight: 700; color: #2c3e50; text-transform: capitalize; }
.ln-dp button {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    font-family: inherit;
    color: inherit;
    cursor: pointer;
    float: none;
    height: auto;
    min-height: 0;
    width: auto;
    box-shadow: none;
    background-image: none;
    -webkit-appearance: none;
    appearance: none;
}
.ln-dp .ln-dp-nav {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f1f4f7;
    color: #2c3e50;
    font-size: 22px;
    line-height: 34px;
}
.ln-dp .ln-dp-nav:hover { background: #e4e9ef; }
.ln-dp .ln-dp-nav:disabled { opacity: .35; cursor: default; }
.ln-dp-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.ln-dp-week span { padding: 6px 0; font-size: 11.5px; font-weight: 600; color: #8a94a0; text-transform: uppercase; letter-spacing: .3px; }
.ln-dp .ln-dp-day {
    width: 100%;
    height: 38px;
    border-radius: 10px;
    font-size: 14.5px;
    font-weight: 500;
    line-height: 38px;
    color: #27313d;
}
.ln-dp .ln-dp-day:hover { background: #f1f4f7; }
.ln-dp .ln-dp-day:disabled { color: #c3cad3; cursor: default; background: none; text-decoration: line-through; text-decoration-color: #dfe4ea; }
.ln-dp .ln-dp-day.ln-today { box-shadow: inset 0 0 0 1.5px #2c3e50; }
.ln-dp .ln-dp-day.ln-in { background: rgba(229, 115, 42, .12); border-radius: 0; }
.ln-dp .ln-dp-day.ln-start { background: rgba(229, 115, 42, .22); color: #a4480f; font-weight: 700; }
.ln-dp .ln-dp-day.ln-sel,
.ln-dp .ln-dp-day.ln-sel:hover { background: #e5732a; color: #fff; font-weight: 700; box-shadow: 0 2px 6px rgba(229, 115, 42, .35); }
.ln-dp-foot { margin-top: 10px; min-height: 4px; text-align: right; }
.ln-dp .ln-dp-today { padding: 7px 12px; border-radius: 8px; font-size: 13px; font-weight: 600; color: #2c3e50; }
.ln-dp .ln-dp-today:hover { background: #f1f4f7; }

/* phones: centred, with a backdrop */
.ln-dp-back { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1999; background: rgba(16, 24, 40, .45); }
.ln-dp.ln-dp-sheet {
    position: fixed;
    left: 50%;
    top: 50%;
    width: 336px;
    max-width: calc(100% - 24px);
    padding: 18px 16px 14px;
    transform: translate(-50%, -50%);
    border-radius: 18px;
}
.ln-dp.ln-dp-sheet .ln-dp-day { height: 42px; line-height: 42px; font-size: 16px; }
.ln-dp.ln-dp-sheet .ln-dp-nav { width: 42px; height: 42px; line-height: 40px; }
.ln-dp.ln-dp-sheet .ln-dp-title { font-size: 17px; }

/* admin: hour / minute selects next to a date */
.ln-time { display: inline-block; white-space: nowrap; vertical-align: middle; }
.ln-time select { display: inline-block; width: auto !important; min-width: 68px; }
.ln-time span { padding: 0 3px; font-weight: 700; }
