.tpot-opening-hours-manager,
.tpot-opening-hours-public{
max-width:980px;
margin:40px auto;
padding:0 18px;
color:#fff;
}

.tpot-opening-hours-panel{
background:rgba(8,7,5,.94);
border:1px solid rgba(245,195,91,.28);
border-radius:24px;
padding:28px;
box-shadow:0 22px 70px rgba(0,0,0,.55);
}

.tpot-opening-hours-panel h2,
.tpot-opening-hours-public h2{
margin-top:0;
color:#f5c35b;
}

.tpot-opening-hours-form{
display:grid;
gap:14px;
}

.tpot-opening-hours-form input{
width:100%;
box-sizing:border-box;
padding:12px 14px;
border-radius:14px;
border:1px solid rgba(245,195,91,.25);
background:#100d08;
color:#fff;
}

.tpot-opening-hours-form button{
border:0;
border-radius:999px;
padding:13px 22px;
font-weight:800;
cursor:pointer;
color:#130d05;
background:linear-gradient(135deg,#f5c35b,#b8872f);
}

.tpot-opening-hours-row{
display:grid;
grid-template-columns:130px 1fr auto 1fr 120px;
gap:12px;
align-items:center;
}

.tpot-check{
display:flex;
gap:8px;
align-items:center;
}

.tpot-check input{
width:auto;
}

.tpot-opening-hours-message{
padding:12px 14px;
border-radius:14px;
background:rgba(245,195,91,.12);
border:1px solid rgba(245,195,91,.25);
margin-bottom:16px;
}

.tpot-back-link{
color:#f5c35b;
font-weight:800;
text-decoration:none;
}

.tpot-opening-hours-list{
display:grid;
gap:10px;
}

.tpot-opening-hours-list div{
display:flex;
justify-content:space-between;
gap:20px;
padding:13px 16px;
border-radius:16px;
background:rgba(255,255,255,.06);
border:1px solid rgba(245,195,91,.18);
}

@media(max-width:760px){
.tpot-opening-hours-row{
grid-template-columns:1fr;
}
}

.tpot-logoff-button{
display:inline-flex;
align-items:center;
justify-content:center;
border:0;
border-radius:999px;
padding:20px 38px;
font-size:22px;
font-weight:900;
color:var(--button-text,#07100b);
background:linear-gradient(135deg,#555,#222);
cursor:pointer;
text-transform:uppercase;
line-height:1;
text-decoration:none;
}

.tpot-admin-section{margin-bottom:24px}
.tpot-opening-hours-form select{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:14px;border:1px solid rgba(245,195,91,.25);background:#100d08;color:#fff}
.tpot-google-status{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16)}
.tpot-google-status.tpot-connected{background:rgba(60,180,100,.13);border-color:rgba(60,180,100,.35)}
.tpot-google-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.tpot-special-hours{display:grid;gap:10px;margin:12px 0 18px}.tpot-special-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px;border:1px solid #ddd;border-radius:6px}.tpot-oauth-help{margin:14px 0;padding:12px;border:1px solid #ccd0d4;background:#fff}.tpot-oauth-help summary{cursor:pointer}.tpot-oauth-help li{margin:7px 0}@media(max-width:700px){.tpot-special-row{align-items:stretch}.tpot-special-row input[type=date],.tpot-special-row input[type=time]{min-width:130px;flex:1}}

.tpot-google-checklist,
.tpot-google-quickstart {
    margin: 16px 0;
    padding: 14px 16px;
    border: 1px solid #dcdcde;
    border-radius: 6px;
    background: #fff;
}
.tpot-google-checklist ul { margin: 8px 0 0 0; }
.tpot-google-checklist li { margin: 5px 0; }
.tpot-google-quickstart ol { margin-bottom: 0; }
.tpot-opening-hours-form textarea { width: 100%; font-family: monospace; }
.tpot-opening-hours-form details { margin: 10px 0 14px; }

/* Google setup panel: always readable inside the dark plugin layout */
.tpot-google-panel .tpot-google-checklist,
.tpot-google-panel .tpot-google-quickstart,
.tpot-google-panel .tpot-oauth-help,
.tpot-google-panel .tpot-google-form details {
    color:#1d2327;
    background:#fff;
    border:1px solid #dcdcde;
    border-radius:12px;
}
.tpot-google-panel .tpot-google-checklist,
.tpot-google-panel .tpot-google-quickstart { padding:20px; }
.tpot-google-panel .tpot-google-checklist h3,
.tpot-google-panel .tpot-google-quickstart h3,
.tpot-google-panel .tpot-help-content,
.tpot-google-panel .tpot-google-form details summary,
.tpot-google-panel .tpot-google-form details label { color:#1d2327; }
.tpot-google-panel .tpot-google-quickstart p,
.tpot-google-panel .tpot-google-quickstart li,
.tpot-google-panel .tpot-oauth-help p,
.tpot-google-panel .description { color:#50575e; }
.tpot-status-list { list-style:none; margin:14px 0 0; padding:0; display:grid; gap:9px; }
.tpot-status-list li { display:flex; align-items:center; gap:10px; margin:0; }
.tpot-status-list li span { display:inline-flex; width:26px; height:26px; align-items:center; justify-content:center; border-radius:50%; font-weight:800; background:#dcdcde; color:#1d2327; }
.tpot-status-list li.is-ok span { background:#00a32a; color:#fff; }
.tpot-setup-steps { display:grid; gap:18px; margin:16px 0 0 22px; }
.tpot-setup-steps li { padding-left:4px; }
.tpot-setup-steps .button { margin-top:8px; margin-right:6px; }
.tpot-redirect-box { margin-top:20px; padding:16px; background:#f6f7f7; border:1px solid #dcdcde; border-radius:10px; }
.tpot-copy-row { display:flex; gap:8px; margin-top:8px; align-items:center; }
.tpot-copy-row input { flex:1; min-width:0; color:#1d2327 !important; background:#fff !important; border:1px solid #8c8f94 !important; }
.tpot-google-panel textarea { color:#1d2327 !important; background:#fff !important; border:1px solid #8c8f94 !important; border-radius:8px; padding:12px; }
.tpot-google-panel textarea::placeholder { color:#646970; opacity:1; }
.tpot-google-panel .tpot-google-form details { padding:12px 14px; }
.tpot-google-panel .tpot-google-form details[open] summary { margin-bottom:12px; }
.tpot-google-panel .tpot-help-content { padding:12px 16px; }
.tpot-google-panel .tpot-oauth-help { overflow:hidden; }
.tpot-google-panel .tpot-oauth-help summary { padding:14px 16px; color:#1d2327; cursor:pointer; }
.tpot-google-panel .tpot-google-status { color:#fff; }
.tpot-google-panel .tpot-google-status:not(.tpot-connected) { background:rgba(245,195,91,.12); border-color:rgba(245,195,91,.35); }
.tpot-google-panel .button { text-decoration:none; }
@media(max-width:700px){
    .tpot-copy-row{flex-direction:column;align-items:stretch}
    .tpot-setup-steps{margin-left:18px}
}

/* v1.5.4: mobile-friendly special-hours workflow */
.tpot-section-divider{margin:28px 0 22px;border:0;border-top:1px solid rgba(245,195,91,.24)}
.tpot-special-add{margin:14px 0 18px;border:1px solid rgba(245,195,91,.28);border-radius:16px;background:rgba(255,255,255,.04);overflow:hidden}
.tpot-special-add summary{cursor:pointer;padding:15px 17px;font-weight:800;color:#f5c35b}
.tpot-special-add[open] summary{border-bottom:1px solid rgba(245,195,91,.18)}
.tpot-special-add-form{display:grid;gap:14px;padding:16px}
.tpot-special-add-form label>span{display:block;margin-bottom:6px;font-weight:700}
.tpot-special-time-row{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:end}
.tpot-special-add-form input[type=date],.tpot-special-add-form input[type=time]{width:100%;box-sizing:border-box;padding:13px 14px;border-radius:14px;border:1px solid rgba(245,195,91,.25);background:#100d08;color:#fff}
.tpot-special-add-form button,.tpot-special-delete-form button{border:0;border-radius:999px;padding:13px 20px;font-weight:800;cursor:pointer}
.tpot-special-add-form button{color:#130d05;background:linear-gradient(135deg,#f5c35b,#b8872f)}
.tpot-special-list{display:grid;gap:10px}
.tpot-special-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;border:1px solid rgba(245,195,91,.22);border-radius:15px;background:rgba(255,255,255,.05)}
.tpot-special-item>div{display:grid;gap:3px}.tpot-special-item span{color:#ddd}
.tpot-special-delete-form{margin:0}.tpot-special-delete-form button{background:#7a1f1f;color:#fff}
.tpot-empty-special{padding:13px 15px;border-radius:14px;background:rgba(255,255,255,.04)}
.tpot-opening-hours-list div.is-special{border-color:rgba(245,195,91,.6);background:rgba(245,195,91,.12)}
.tpot-opening-hours-list strong small{font-weight:500;opacity:.7;margin-left:5px}.tpot-opening-hours-list strong em{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:999px;font-size:11px;font-style:normal;background:#f5c35b;color:#130d05}
@media(max-width:700px){
 .tpot-opening-hours-manager{padding:0 10px;margin:18px auto}.tpot-opening-hours-panel{padding:18px;border-radius:18px}
 .tpot-opening-hours-row{grid-template-columns:1fr 1fr;gap:8px;padding:12px;border:1px solid rgba(245,195,91,.18);border-radius:14px;background:rgba(255,255,255,.035)}
 .tpot-opening-hours-row strong{grid-column:1/-1;font-size:17px}.tpot-opening-hours-row>span{display:none}.tpot-opening-hours-row .tpot-check{grid-column:1/-1}
 .tpot-special-time-row{grid-template-columns:1fr 1fr}.tpot-to-label{display:none}.tpot-special-add{border-radius:14px}
 .tpot-special-item{align-items:stretch;flex-direction:column}.tpot-special-delete-form button{width:100%}
 .tpot-opening-hours-list div{align-items:flex-start}.tpot-opening-hours-list strong{display:flex;flex-wrap:wrap;align-items:center;gap:3px}
}


/* v1.5.5: mobile field sizing and readable native dropdowns */
.tpot-opening-hours-form input[type="time"],
.tpot-opening-hours-form input[type="date"],
.tpot-special-add-form input[type="time"],
.tpot-special-add-form input[type="date"]{
    display:block;
    min-width:0;
    max-width:100%;
}

.tpot-opening-hours-row > input,
.tpot-special-time-row > label,
.tpot-special-time-row input{
    min-width:0;
    max-width:100%;
}

/* Native option popups do not reliably inherit the dark select styling. */
.tpot-opening-hours-form select option,
.tpot-google-panel select option,
.tpot-opening-hours-panel select option{
    color:#1d2327;
    background:#fff;
}

/* WordPress admin dropdowns and focused fields remain readable. */
.wp-admin .tpot-opening-hours-panel select,
.wp-admin .tpot-opening-hours-panel input,
.wp-admin .tpot-opening-hours-panel textarea{
    opacity:1;
}
.wp-admin .tpot-opening-hours-panel select:focus,
.wp-admin .tpot-opening-hours-panel input:focus,
.wp-admin .tpot-opening-hours-panel textarea:focus{
    color:#fff;
    background:#100d08;
}
.wp-admin .tpot-google-panel select:focus,
.wp-admin .tpot-google-panel textarea:focus,
.wp-admin .tpot-google-panel input:focus{
    color:#1d2327;
    background:#fff;
}

@media(max-width:700px){
    .tpot-opening-hours-row{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        column-gap:10px;
        overflow:hidden;
    }
    .tpot-opening-hours-row > input[type="time"]{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        padding-left:10px;
        padding-right:10px;
        font-size:16px;
    }
    .tpot-special-time-row{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        gap:10px;
    }
    .tpot-special-time-row label{
        min-width:0;
        width:100%;
    }
    .tpot-special-time-row input[type="time"],
    .tpot-special-add-form input[type="date"]{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        padding-left:10px;
        padding-right:10px;
        font-size:16px;
    }
}

@media(max-width:420px){
    .tpot-opening-hours-panel{padding:16px 12px}
    .tpot-opening-hours-row{padding:12px 10px;gap:8px}
    .tpot-opening-hours-row > input[type="time"]{font-size:15px;padding:11px 8px}
    .tpot-special-add-form{padding:14px 10px}
    .tpot-special-time-row{gap:8px}
    .tpot-special-time-row input[type="time"]{font-size:15px;padding:11px 8px}
}

/* v1.5.6: stack mobile time fields and keep admin dropdowns dark/readable */
.wp-admin .tpot-opening-hours-panel select,
.wp-admin .tpot-opening-hours-panel select:hover,
.wp-admin .tpot-opening-hours-panel select:focus,
.wp-admin .tpot-opening-hours-panel select:active,
.wp-admin .tpot-google-panel select,
.wp-admin .tpot-google-panel select:hover,
.wp-admin .tpot-google-panel select:focus,
.wp-admin .tpot-google-panel select:active{
    color:#fff !important;
    background-color:#100d08 !important;
    border-color:rgba(245,195,91,.45) !important;
    opacity:1 !important;
}

.wp-admin .tpot-opening-hours-panel select option,
.wp-admin .tpot-google-panel select option,
.wp-admin .tpot-opening-hours-form select option{
    color:#fff !important;
    background:#100d08 !important;
}

/* The operating system/browser keeps its normal blue highlight for the selected option. */
.wp-admin .tpot-opening-hours-panel select option:hover,
.wp-admin .tpot-opening-hours-panel select option:focus,
.wp-admin .tpot-google-panel select option:hover,
.wp-admin .tpot-google-panel select option:focus{
    color:#fff !important;
    background:#100d08 !important;
}

@media(max-width:700px){
    /* Same compact one-below-another layout as the older mobile version. */
    .tpot-opening-hours-row{
        grid-template-columns:minmax(0,1fr) !important;
        row-gap:10px;
        overflow:visible;
    }
    .tpot-opening-hours-row strong,
    .tpot-opening-hours-row > input[type="time"],
    .tpot-opening-hours-row .tpot-check{
        grid-column:1 !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        box-sizing:border-box;
    }
    .tpot-opening-hours-row > input[type="time"]{
        padding:13px 14px;
        font-size:16px;
    }

    .tpot-special-time-row{
        grid-template-columns:minmax(0,1fr) !important;
        row-gap:12px;
    }
    .tpot-special-time-row label,
    .tpot-special-time-row input[type="time"]{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        box-sizing:border-box;
    }
}

/* v1.5.7: reliable iPhone/iOS sizing for date and time controls */
@media(max-width:700px){
    .tpot-opening-hours-row,
    .tpot-special-add-form,
    .tpot-special-time-row,
    .tpot-special-time-row label{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
    }

    .tpot-opening-hours-row{
        overflow:hidden !important;
        contain:inline-size;
    }

    .tpot-opening-hours-row > input[type="time"],
    .tpot-special-add-form input[type="time"],
    .tpot-special-add-form input[type="date"]{
        display:block !important;
        inline-size:100% !important;
        width:100% !important;
        min-inline-size:0 !important;
        min-width:0 !important;
        max-inline-size:100% !important;
        max-width:100% !important;
        margin:0 !important;
        box-sizing:border-box !important;
        overflow:hidden !important;
        -webkit-appearance:none;
        appearance:none;
    }

    .tpot-opening-hours-row > input[type="time"]::-webkit-date-and-time-value,
    .tpot-special-add-form input[type="time"]::-webkit-date-and-time-value,
    .tpot-special-add-form input[type="date"]::-webkit-date-and-time-value{
        min-width:0 !important;
        width:100% !important;
        text-align:center;
    }
}

/* v1.6.0 professional dashboard, tools and logs */
.tpot-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.tpot-status-grid>div{position:relative;display:flex;flex-direction:column;gap:3px;min-height:72px;padding:14px 14px 14px 42px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.06);box-sizing:border-box}
.tpot-status-grid strong{color:inherit}.tpot-status-grid small{opacity:.82;overflow-wrap:anywhere}
.tpot-dot{position:absolute;left:15px;top:18px;width:12px;height:12px;border-radius:50%;background:#7a7a7a;box-shadow:0 0 0 4px rgba(122,122,122,.16)}
.tpot-dot.is-ok{background:#37b26c;box-shadow:0 0 0 4px rgba(55,178,108,.16)}
.tpot-dot.is-error{background:#dc3232;box-shadow:0 0 0 4px rgba(220,50,50,.16)}
.tpot-dot.is-off{background:#a0a5aa;box-shadow:0 0 0 4px rgba(160,165,170,.16)}
.tpot-tool-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tpot-tool-actions form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}
.tpot-tool-actions small{display:block;flex-basis:100%;opacity:.8}
.tpot-sync-log{display:flex;flex-direction:column;gap:8px}
.tpot-sync-log>div{display:grid;grid-template-columns:145px 1fr;gap:12px;align-items:start;padding:10px 12px;border-left:4px solid #72777c;border-radius:5px;background:rgba(255,255,255,.06)}
.tpot-sync-log>div.is-success{border-left-color:#37b26c}.tpot-sync-log>div.is-error{border-left-color:#dc3232}.tpot-sync-log>div.is-info{border-left-color:#72aee6}
.tpot-sync-log span{font-size:12px;opacity:.8}.tpot-sync-log strong{font-weight:600;overflow-wrap:anywhere}
.tpot-google-warning{margin:8px 0 12px;padding:12px;border-left:4px solid #dba617;background:#fff8e5;color:#1d2327;border-radius:4px}
.tpot-opening-hours-message.is-error{border-left-color:#dc3232!important}
@media(max-width:782px){.tpot-status-grid{grid-template-columns:1fr}.tpot-sync-log>div{grid-template-columns:1fr;gap:3px}.tpot-tool-actions,.tpot-tool-actions form{align-items:stretch;flex-direction:column}.tpot-tool-actions .button,.tpot-tool-actions input[type=file],.tpot-tool-actions form{width:100%;box-sizing:border-box}}
