/* Добавление точки. Токены берутся из map-page.css. */
.tool--add{background:var(--dc);border-color:var(--edge);color:#fff}
.tool--add:hover{background:var(--ink);color:var(--on-ink)}
.add-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid var(--edge);background:var(--ink);color:var(--on-ink);font:700 11px var(--display);transition-property:scale,background-color}
.add-cta:hover{background:var(--accent)}
.add-cta:has(>i:first-child){padding-left:12px}
.add-cta i{font-size:17px}

/* Выбор места: метка в центре экрана, карта двигается под ней */
.add-pick{position:fixed;inset:0;z-index:12;pointer-events:none}
.add-crosshair{position:fixed;left:50%;top:50%;transform:translate(-50%,-100%);font-size:52px;line-height:1;color:var(--dc);filter:drop-shadow(0 6px 8px #12063a99)}
.add-crosshair::after{content:'';position:absolute;left:50%;bottom:-4px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--ink);border:2px solid #fff}
@media (prefers-reduced-motion:no-preference){.add-crosshair{animation:add-drop .45s var(--ease-out) both}}
@keyframes add-drop{from{opacity:0;transform:translate(-50%,-160%)}}
.add-pick-bar{position:fixed;left:50%;bottom:calc(var(--gap) + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(520px,calc(100vw - 2 * var(--gap)));display:grid;gap:12px;padding:16px;background:var(--surface);color:var(--ink);border:1px solid var(--edge);box-shadow:var(--shadow);pointer-events:auto}
.add-pick-bar p{margin:0;font-size:13px;line-height:1.5}
.add-pick-actions{display:grid;grid-template-columns:auto 1fr;gap:8px}
body.is-adding-point .panel,body.is-adding-point .detail,body.is-adding-point .area-prompt{visibility:hidden}
@media (min-width:821px){
  body.is-adding-point .panel{visibility:visible;filter:opacity(.5) saturate(.6);pointer-events:none}
  .add-pick-bar{left:calc(50% + (var(--panel-w) + var(--gap)) / 2);width:min(520px,calc(100vw - var(--panel-w) - var(--gap) * 4))}
}

/* Форма заявки */
.add-sheet{position:fixed;z-index:13;top:var(--gap);right:var(--gap);bottom:var(--gap);width:420px;display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border:1px solid var(--edge);box-shadow:var(--shadow);overflow:hidden;overflow:clip}
.add-sheet:not([hidden]){animation:card-in .3s var(--ease-out) both}
body.is-add-sheet .map-tools{visibility:hidden}
.add-bar{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 18px;border-bottom:1px solid var(--edge)}
.add-bar h2{margin:0;font:800 20px var(--display);letter-spacing:-.06em}
.add-bar .detail-close{margin-left:auto}
.add-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px;display:grid;align-content:start;gap:16px}
.add-lead{margin:0;font-size:14px;line-height:1.6}
.add-wide{width:100%}
.add-place{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;background:var(--surface-2)}
.add-place b{display:block;margin-top:4px;font-size:13px;font-variant-numeric:tabular-nums}
.add-label{font:700 9px var(--display);color:var(--muted);letter-spacing:.02em}
.add-link{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:6px 0;font-size:12px;font-weight:800;color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.add-nearby{padding:12px 14px;border:1px solid var(--warn);font-size:13px;line-height:1.5}
.field{display:grid;gap:7px;margin:0;padding:0;border:0;min-width:0}
.field>span,.field legend{padding:0;font:700 10px var(--display);letter-spacing:.01em}
.field em{font-style:normal;color:var(--accent)}
.field input,.field select,.field textarea{width:100%;min-height:46px;padding:11px 12px;border:1px solid var(--edge);border-radius:0;background:#fff;color:var(--ink);font:600 14px/1.45 var(--body);appearance:none}
.field select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23170845' stroke-width='2'/%3E%3C/svg%3E") right 14px center no-repeat;padding-right:36px}
.field textarea{resize:vertical;min-height:72px}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:.85}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--accent);outline-offset:-1px}
.field small{font-size:11px;color:var(--muted)}
.field legend{margin-bottom:7px}
.add-options{display:flex;flex-wrap:wrap;gap:6px}
.add-options label{position:relative}
.add-options input{position:absolute;opacity:0;pointer-events:none}
.add-options span{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border:1px solid var(--edge);background:#fff;font-size:12px;font-weight:800;cursor:pointer;transition-property:scale,background-color,color}
.add-options input:checked+span{background:var(--ink);color:var(--on-ink)}
.add-options input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}
.field-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
.add-check{display:flex;align-items:center;gap:8px;min-height:46px;font-size:13px;font-weight:800;cursor:pointer}
.add-check input{width:20px;height:20px;accent-color:var(--ink)}
.add-error{margin:0;padding:12px 14px;border:1px solid var(--danger);color:var(--danger);font-size:13px;font-weight:700;line-height:1.5}
.add-note{margin:-4px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
.add-done-mark{font-size:56px;color:var(--dc);line-height:1}
#add-submit:disabled{opacity:.6;cursor:progress}

@media (max-width:820px){
  .add-cta{display:none}
  .add-sheet{top:auto;left:0;right:0;bottom:0;width:auto;max-height:min(88dvh,760px);border-width:0;box-shadow:var(--shadow-sheet);padding-bottom:env(safe-area-inset-bottom)}
  .add-sheet:not([hidden]){animation:sheet-in .3s var(--ease-out) both}
  .add-body{padding:16px}
  .add-pick-bar{bottom:calc(12px + env(safe-area-inset-bottom))}
  .add-pick-actions{grid-template-columns:1fr 1.4fr}
}
.add-placed{font-size:44px;line-height:1;color:var(--dc);filter:drop-shadow(0 5px 6px #12063a99);pointer-events:none}

/* Окно «Нужна регистрация» для гостей */
.add-auth{width:min(420px,calc(100vw - 32px));padding:28px 24px 22px;border:1px solid var(--edge);background:var(--surface);color:var(--ink);box-shadow:var(--shadow);text-align:left}
.add-auth::backdrop{background:#12063ab3;backdrop-filter:blur(3px)}
.add-auth[open]{animation:card-in .3s var(--ease-out) both}
.add-auth-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:16px;background:var(--dc);color:#fff;font-size:26px}
.add-auth h2{margin:0 0 10px;font:800 22px/1.15 var(--display);letter-spacing:-.06em}
.add-auth p{margin:0 0 22px;font-size:14px;line-height:1.6;color:var(--muted)}
.add-auth-actions{display:grid;grid-template-columns:auto 1fr;gap:8px}
@media (max-width:420px){.add-auth-actions{grid-template-columns:1fr}.add-auth-actions .btn--main{order:-1}}

/* Фото в заявке */
.add-photos>span small{font-weight:600;color:var(--muted);font-family:var(--body);font-size:11px;margin-left:6px}
.add-photo-list{display:flex;flex-wrap:wrap;gap:8px}
.add-photo-list:empty{display:none}
.add-photo{position:relative;width:88px;height:88px;background:#fff}
.add-photo{animation:add-photo-in .38s var(--ease-out) both}
@keyframes add-photo-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.add-photo img{width:100%;height:100%;object-fit:cover;display:block}
.add-photo button{position:absolute;top:4px;right:4px;width:26px;height:26px;display:grid;place-items:center;padding:0;border:1px solid var(--edge);background:var(--surface);font-size:13px;cursor:pointer}
.add-photo-pick{position:relative;display:flex;align-items:center;gap:10px;min-height:52px;padding:0 14px;border:1px dashed var(--edge);background:#fff;font-size:13px;font-weight:800;cursor:pointer}
.add-photo-pick[hidden]{display:none}
.add-photo-pick i{font-size:22px}
.add-photo-pick input{position:absolute;width:1px;height:1px;opacity:0}
.add-photo-pick:focus-within{outline:3px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.add-sheet:not([hidden]),.add-auth[open],.add-photo{animation:none}}
.add-edit-note{padding:12px 14px;border:1px solid var(--warn);background:#fff;font-size:13px;font-weight:700;line-height:1.5}
/* Chrome на Android после выбора фото прокручивал сам лист (overflow:hidden прокручивается скриптом) и шапка уезжала. clip это запрещает. */
.add-note a{color:inherit;font-weight:800;text-underline-offset:2px}
/* Часы работы: «с — до» и «Круглосуточно» в одну строку, на узком экране чекбокс уходит вниз. */
.add-hours-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.add-hours-row>label:not(.add-check){display:flex;align-items:center;gap:8px;flex:1 1 120px;min-width:0}
.add-hours-row>label>span{font-size:12px;font-weight:800;color:var(--muted)}
.add-hours-row input[type=time]{flex:1;min-width:0;min-height:46px;padding:0 10px;border:1px solid var(--edge);border-radius:0;background:#fff;color:var(--ink);font:700 15px var(--body);font-variant-numeric:tabular-nums;appearance:none}
.add-hours-row input[type=time]:disabled{opacity:.45}
.add-hours-row input[type=time]:focus{outline:3px solid var(--accent);outline-offset:-1px}
.add-legend-note{margin-left:6px;font:600 11px var(--body);color:var(--muted)}
.add-hours .add-check input{flex:none;width:20px;height:20px;min-height:0;padding:0;border:0;appearance:auto;-webkit-appearance:checkbox;accent-color:var(--ink)}
