/* Gео-napominaniya: modalki mest/napominanij, kartochka podtverzhdeniya, zapros razresheniya.
   Bazovye klassy modalki (.modal-overlay / .sheet-modal / .modal-body) berutsya iz base.css —
   zdes tolko spetsifika. Palitra cherez peremennye temy (svetlaya/tyomnaya), kak v lists.css/games.css. */

/* ---- Obschie elementy ---- */
.geo-modal .geo-label{
    display:block;font-size:13px;font-weight:600;color:var(--text-secondary);
    margin:14px 2px 6px;
}
.geo-modal .geo-input{
    width:100%;box-sizing:border-box;padding:12px 14px;
    border:1px solid var(--border);border-radius:12px;
    font-size:15px;background:var(--soft);color:var(--text);outline:none;
}
.geo-modal .geo-input:focus{border-color:var(--accent);background:var(--panel)}

.geo-modal .geo-place-intro{
    font-size:14px;line-height:1.5;color:var(--text-secondary);
    margin:6px 2px 14px;
}
.geo-modal .geo-place-intro strong{color:var(--text)}

/* ---- Knopki dejstvij ---- */
.geo-modal .geo-place-actions{display:flex;flex-direction:column;gap:8px;margin:6px 0 4px}
.geo-modal .geo-btn{
    width:100%;box-sizing:border-box;padding:13px 14px;
    border:1px solid var(--border);background:var(--soft);color:var(--text);
    border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;text-align:center;
    transition:background .2s,border-color .2s,transform .1s;
}
.geo-modal .geo-btn:hover{border-color:var(--accent);color:var(--accent)}
.geo-modal .geo-btn:active{transform:scale(.98)}
.geo-modal .geo-btn-primary{
    background:var(--accent);color:var(--text-on-brand);border-color:var(--accent);
}
.geo-modal .geo-btn-primary:hover{opacity:.92;color:var(--text-on-brand)}
.geo-modal .geo-btn:disabled{opacity:.5;cursor:default}

/* ---- Bloki koordinat / sohranennyh mest ---- */
.geo-modal .geo-coords-box,
.geo-modal .geo-saved-box{
    margin-top:10px;padding-top:6px;border-top:1px solid var(--border);
}
.geo-modal .geo-saved-item{
    display:flex;align-items:center;justify-content:space-between;gap:8px;
    width:100%;box-sizing:border-box;padding:12px 14px;margin-bottom:8px;
    border:1px solid var(--border);background:var(--soft);color:var(--text);
    border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;text-align:left;
    transition:border-color .2s;
}
.geo-modal .geo-saved-item:hover{border-color:var(--accent)}
.geo-modal .geo-saved-meta{
    font-size:12px;font-weight:500;color:var(--text-tertiary);flex:0 0 auto;
}

/* ---- Menedzher: spiski napominanij i mest ---- */
.geo-modal .geo-section-title{
    font-size:13px;font-weight:700;color:var(--text-tertiary);
    text-transform:uppercase;letter-spacing:.03em;
    margin:18px 2px 8px;
}
.geo-modal .geo-section-title:first-child{margin-top:4px}
.geo-modal .geo-item{
    display:flex;align-items:center;gap:10px;
    padding:12px 14px;margin-bottom:8px;
    border:1px solid var(--border);background:var(--soft);border-radius:12px;
}
.geo-modal .geo-item-body{flex:1;min-width:0}
.geo-modal .geo-item-text{
    font-size:15px;font-weight:600;color:var(--text);
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.geo-modal .geo-item-meta{
    font-size:12px;color:var(--text-tertiary);margin-top:3px;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.geo-modal .geo-item-del{
    flex:0 0 auto;padding:8px 12px;
    border:1px solid var(--border);background:none;color:var(--danger,#e5484d);
    border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;
    transition:background .2s;
}
.geo-modal .geo-item-del:hover{background:var(--soft)}
.geo-modal .geo-item-del:disabled{opacity:.5;cursor:default}

.geo-modal .geo-empty{
    padding:14px 4px;font-size:14px;line-height:1.5;color:var(--text-tertiary);text-align:center;
}

/* ---- Vybor triggera (приду / уйду / оба) ---- */
.geo-modal .geo-trigger{display:flex;flex-direction:column;gap:8px;margin:2px 0}
.geo-modal .geo-trig-btn{
    width:100%;box-sizing:border-box;padding:11px 14px;text-align:left;
    border:1px solid var(--border);background:var(--soft);color:var(--text);
    border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;
    transition:border-color .2s,background .2s,color .2s,transform .1s;
}
.geo-modal .geo-trig-btn:hover{border-color:var(--accent)}
.geo-modal .geo-trig-btn:active{transform:scale(.99)}
.geo-modal .geo-trig-btn.active{
    border-color:var(--accent);background:var(--accent);color:var(--text-on-brand);
}

/* ---- Deystviya v stroke napominaniya (toggle / izmenit / udalit) ---- */
.geo-modal .geo-item-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.geo-modal .geo-item-edit,
.geo-modal .geo-item-del-ic{
    flex:0 0 auto;width:34px;height:34px;font-size:15px;cursor:pointer;
    border:1px solid var(--border);background:var(--panel);
    border-radius:10px;display:flex;align-items:center;justify-content:center;transition:border-color .2s;
}
.geo-modal .geo-item-edit{color:var(--text-secondary)}
.geo-modal .geo-item-del-ic{color:var(--danger,#e5484d)}
.geo-modal .geo-item-edit:hover{border-color:var(--accent)}
.geo-modal .geo-item-del-ic:hover{border-color:var(--danger,#e5484d)}
.geo-modal .geo-item-edit:disabled,.geo-modal .geo-item-del-ic:disabled{opacity:.5;cursor:default}
.geo-modal .geo-item.geo-item-off{opacity:.55}

/* ---- Tumbler vkl/vykl ---- */
.geo-modal .geo-switch{position:relative;display:inline-block;width:40px;height:24px;flex:0 0 auto}
.geo-modal .geo-switch input{opacity:0;width:0;height:0;position:absolute;margin:0}
.geo-modal .geo-switch-slider{
    position:absolute;inset:0;cursor:pointer;border-radius:24px;
    background:var(--border);transition:background .2s;
}
.geo-modal .geo-switch-slider::before{
    content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;
    background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.25);
}
.geo-modal .geo-switch input:checked + .geo-switch-slider{background:var(--accent)}
.geo-modal .geo-switch input:checked + .geo-switch-slider::before{transform:translateX(16px)}
.geo-modal .geo-switch input:disabled + .geo-switch-slider{opacity:.5;cursor:default}

/* Chislovoj input radiusa — bez lishnih strelok na mobile */
.geo-modal input[type="number"].geo-input{appearance:textfield;-moz-appearance:textfield}
.geo-modal input[type="number"].geo-input::-webkit-outer-spin-button,
.geo-modal input[type="number"].geo-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* ---- Knopki «Снять» / «Отложить на сегодня» pod srabotavshim gео-napominaniem v chate ---- */
.geo-rem-actions{margin:5px 0 2px;display:flex;flex-wrap:wrap;gap:6px}
.geo-rem-btn{
    appearance:none;font-size:13px;font-weight:600;line-height:1;padding:9px 13px;border-radius:14px;cursor:pointer;
    transition:opacity .15s,background .15s,border-color .15s;
}
.geo-rem-btn:active{opacity:.85}
.geo-rem-btn:disabled{opacity:.7;cursor:default}
.geo-rem-dismiss{border:1px solid var(--accent);background:var(--accent);color:#fff}
.geo-rem-snooze{border:1px solid var(--border);background:var(--soft);color:var(--text)}
.geo-rem-status{
    display:inline-block;margin:5px 0 2px;font-size:13px;font-weight:600;color:var(--text-secondary);
}
