/* Photos on every job (Oct 27) — phone first */
.ph-sec h3 .ph-n{display:inline-block;min-width:22px;padding:0 7px;border-radius:11px;background:var(--blue-soft,#ECEDFF);color:var(--blue,#0309F6);font-size:13px;text-align:center;margin-left:4px}
.ph-add{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;font-size:17px;font-weight:700;cursor:pointer;border-radius:12px;margin:4px 0 10px;box-sizing:border-box}
.ph-prog{background:var(--blue-soft,#ECEDFF);color:#1a1e9e;border-radius:10px;padding:8px 12px;font-size:14px;margin:0 0 10px}
.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px}
.ph-t{position:relative;display:block;padding:0;border:0;border-radius:10px;overflow:hidden;background:#eef0f6;aspect-ratio:1/1;cursor:pointer}
.ph-t img{width:100%;height:100%;object-fit:cover;display:block}
.ph-t .ph-who{position:absolute;left:0;right:0;bottom:0;padding:14px 6px 4px;font-size:11px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.65));text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph-t .ph-cap{position:absolute;left:4px;top:4px;max-width:calc(100% - 8px);font-size:10px;line-height:1.2;background:rgba(255,255,255,.9);color:#111;border-radius:6px;padding:2px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph-view{position:fixed;inset:0;z-index:9999;background:#000;display:flex;flex-direction:column;color:#fff;outline:none}
.ph-bar{display:flex;align-items:center;gap:8px;padding:calc(8px + env(safe-area-inset-top)) 10px 8px}
.ph-pos{flex:1;font-size:14px;opacity:.85}
.ph-ic{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:22px;background:rgba(255,255,255,.14);color:#fff;border:0;font-size:20px;text-decoration:none;cursor:pointer}
.ph-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;touch-action:pan-y}
.ph-stage img{max-width:100%;max-height:100%;object-fit:contain}
.ph-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;border:0;border-radius:10px;background:rgba(255,255,255,.16);color:#fff;font-size:34px;cursor:pointer}
.ph-nav.prev{left:6px}.ph-nav.next{right:6px}
.ph-info{padding:10px 12px calc(12px + env(safe-area-inset-bottom));background:#111}
.ph-meta{font-size:13px;opacity:.85;margin-bottom:8px}
.ph-capedit{display:flex;gap:6px}
.ph-capedit input{flex:1;min-width:0;font-size:16px;padding:10px;border-radius:10px;border:1px solid #444;background:#222;color:#fff}
.ph-captxt{margin:0 0 6px;font-size:15px}
.ph-del{margin-top:10px;width:100%;color:#ff8a8f;border-color:#5a2a2c;background:transparent}

/* Take photo / Choose from gallery (Nathan 4:57 PM Oct 27) */
.ph-adds{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 10px}
.ph-adds .ph-add{margin:0;font-size:15px;padding:0 8px;text-align:center}
.ph-gal{background:#fff;color:var(--brand,#0309f6);border:1px solid #c8cafd}
