/* Новая светлая оболочка. Старые разделы закупок сохраняют свои классы. */
.top { background:#fff; color:var(--ink); border-bottom:1px solid var(--line); }
.top a { color:var(--ink); }
.top nav { align-items:center; }
.top .brand { color:var(--accent); }
.point-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); grid-gap:16px; }
.point-tile { display:flex; flex-direction:column; justify-content:center; min-height:144px; padding:24px; background:#fff; border:1px solid var(--line); border-radius:14px; color:var(--ink); text-decoration:none; }
.point-tile strong { font-size:22px; }
.point-tile span { color:var(--muted); margin-top:8px; }
.point-tile:hover,.point-tile:focus { border-color:var(--accent); background:var(--accent-soft); }
.point-list { background:#fff; border:1px solid var(--line); border-radius:12px; }
.point-row { display:block; padding:16px; text-decoration:none; color:var(--ink); border-bottom:1px solid var(--line); }
.point-row:last-child { border-bottom:0; }
.point-row strong,.point-row span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.point-row span { color:var(--muted); font-size:14px; margin-top:4px; }
.point-form-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-gap:24px; }
.point-form label { display:block; margin-bottom:16px; font-size:16px; color:var(--ink); }
.point-form input[type=datetime-local] { padding:11px 12px; font:inherit; border:1px solid var(--line); border-radius:8px; background:white; }
.point-form input,.point-form select,.point-form textarea { display:block; width:100%; margin-top:6px; }
.point-form input[type=file] { white-space:normal; }
.point-photo { display:block; width:auto; max-width:100%; max-height:540px; margin-top:20px; }
[hidden] { display:none !important; }
@media(max-width:650px) { .point-form-grid { grid-template-columns:1fr; } .point-tile { min-height:110px; } }

.point-interval { display:grid; grid-template-columns:1fr 1fr auto; grid-gap:8px; align-items:end; margin-bottom:12px; }
.point-form input[type=checkbox] { display:inline-block; width:auto; }
input[type=month] { font:inherit; padding:10px; border:1px solid var(--line); border-radius:8px; }

.point-context{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:10px 20px;background:#eef2ed;color:#31483b;font-size:15px}.point-context span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.point-context a{white-space:nowrap}.network-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e4e9e3}.network-row>div{min-width:0;flex:1}.network-row strong,.network-row span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.network-row form{margin:0}.network-preview-row{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}fieldset.card label{display:block;margin:10px 0}@media(max-width:520px){.network-row{gap:6px}.network-row .btn{padding:9px;font-size:14px}.point-context{padding:8px 12px}}

.point-filters{display:flex;flex-wrap:wrap;margin:0 0 18px}.point-filters a{display:inline-flex;align-items:center;min-height:40px;box-sizing:border-box;padding:8px 12px;margin:0 8px 8px 0;font-size:15px;color:#344a3e;background:#eceeeb;border:1px solid #d6ded8;border-radius:8px;text-decoration:none}.point-filters a.selected{background:#dfede4;border-color:#8ab39c;color:#1f6f4a}.journal-directory .point-row{padding:14px 18px}.journal-directory .point-row strong{font-size:18px;font-weight:600;position:relative;padding-right:25px}.journal-directory .journal-arrow{position:absolute;right:0;top:0;margin:0;font-size:18px;color:var(--ink)}.recipe-breadcrumb{margin:0 0 16px;color:var(--muted);font-size:14px}

/* Одна фотография в форме: камера и выбор файла используют общее поле загрузки. */
.journal-camera-ready [data-photo-input]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.journal-photo-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.journal-photo-actions[hidden],.journal-photo-preview[hidden]{display:none}
.journal-photo-actions .btn{padding:9px 12px;font-size:16px}
.journal-photo-preview{display:block;max-width:100%;max-height:250px;object-fit:contain;margin:12px 0;border-radius:8px}
[data-photo-error]{color:#a73030}

/* Название точки в общей шапке вместо отдельной полосы. */
.top .brand{max-width:260px;font-weight:700;line-height:1.25;overflow-wrap:break-word}

/* iPad: одна строка меню, длинный список прокручивается внутри шапки. */
@media(min-width:700px) and (max-width:1200px){
 .top{flex-wrap:nowrap;gap:10px;padding:7px 10px;font-size:14px}
 .top .brand{flex:none;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}
 .top nav{flex:1 1 0%;min-width:0;flex-wrap:nowrap;gap:10px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .top nav::-webkit-scrollbar{display:none}
 .top nav>a{flex:none;white-space:nowrap;padding:6px 0}
 .top .help-nav-link{flex:0 0 28px;width:28px;height:28px;margin:0}
 .top .help-slot-label{display:none}
 .top .who{flex:none;max-width:160px;white-space:nowrap;font-size:13px;gap:7px}
 .top .who>span{max-width:105px;overflow:hidden;text-overflow:ellipsis}
 .top .tablet-account summary{max-width:140px}
}

/* Индикатор появляется только во время жеста, место страницы не занимает. */
.pull-refresh{position:fixed;left:50%;top:12px;transform:translateX(-50%);z-index:15000;max-width:calc(100% - 24px);display:flex;align-items:center;padding:10px 16px;border:1px solid #bed7c9;border-radius:24px;background:#fff;color:#1f6f4a;box-shadow:0 3px 14px #0002;font-size:14px;line-height:1.3;pointer-events:none}
.pull-refresh[hidden]{display:none}.pull-refresh-icon{font-size:25px;line-height:1;margin-right:9px}
