.point-card{border:1px solid #e5e8ed;border-radius:7px;padding:18px;margin:16px 0 22px}.point-card h2{font-size:20px;font-weight:500;margin:0 0 18px}.water-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.water-row label{display:flex;align-items:center;gap:5px}.water-row input[type=number]{width:85px}.water-date{display:flex;gap:12px;align-items:center;margin-top:14px}.water-date input{width:auto;max-width:100%}.point-tabs{display:flex;gap:10px;margin:26px 0 22px}.point-tabs button{flex:1;white-space:normal;min-height:65px}.field-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:14px 0 18px;color:#303638}.field-table th,.field-table td{border:1px solid #d5e1da;padding:12px 6px;text-align:center;font-weight:400;overflow-wrap:anywhere;vertical-align:middle;font-size:14px}.field-table th{background:#fafcfb}.field-table .link{padding:0;font-size:14px;min-height:44px;white-space:normal}.thumb-open,.candidate{border:0;background:white;padding:0;color:#00952c;width:100%;font:inherit}.thumb-open img,.candidate img{width:100%;height:62px;object-fit:cover}.candidate{border:1px solid #e0e6e2;border-radius:6px;padding:5px}.candidate span{display:block;padding:8px 0}.demo-tag{display:block;color:#888;font-size:11px;margin-top:6px}.layer-depth{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0 12px}.layer-depth .field span{position:static;width:auto;height:auto;clip:auto;overflow:visible;display:block;margin-bottom:10px}.layer-depth input{width:100%}.soil-grid label{flex-direction:column;align-items:stretch;gap:7px}.soil-grid select{height:48px;min-height:48px}.entry-footer{gap:8px}.entry-footer .btn{font-size:13px;padding:10px 5px;flex:1;white-space:normal}.entry-footer .btn:first-child{flex:.55}body[data-screen=layer] .bottom,body[data-screen=selection] .bottom{position:fixed;bottom:0;left:0;right:0;z-index:7;padding:10px 20px calc(10px + env(safe-area-inset-bottom));margin:0 auto}.legacy-article{margin:16px 0}.field-section h3{color:#00952c;font-size:16px;margin:20px 0 14px}.photo .photo-caption{font-size:12px}.point-card .photos{margin-top:14px}.selection-table td{padding:14px 6px}.selection-table th{font-size:13px}@media(max-width:380px){.entry-footer .btn{font-size:12px}.point-tabs button{font-size:14px}.field-table th,.field-table td{font-size:12px;padding:10px 4px}}
.water-row input[type=radio]{width:18px;height:18px;min-height:18px;margin:0;accent-color:#00952c}.water-row label{white-space:nowrap;flex-shrink:0}.water-row{gap:14px}.point-card .water-row input[type=number]{height:48px}

/* Keep water controls and date on a single row, including small phones. */
.water-row{display:flex;flex-wrap:nowrap;gap:10px;font-size:14px}
.water-row label{gap:4px;min-width:0}
.water-row .water-date{margin:0;flex:1;min-width:0;gap:6px}
.water-row .water-date input{width:128px;min-width:0;max-width:100%;padding:8px 4px;font-size:14px}
.water-row input[type=number]{width:70px;padding:8px 4px}
.layer-depth{grid-template-columns:1fr}
@media(max-width:450px){
 .point-card{padding:12px}
 .water-row{gap:5px;font-size:12px}
 .water-row label{gap:2px}
 .water-row input[type=radio]{width:15px;height:15px;min-height:15px}
 .water-row input[type=number]{width:43px;font-size:16px}
 .water-row .water-date{gap:3px}
 .water-row .water-date input{width:114px;font-size:12px;padding:8px 2px}
}
@media(max-width:350px){
 .water-row{gap:3px;font-size:11px}
 .water-row input[type=number]{width:34px}
 .water-row .water-date input{width:102px;font-size:11px}
}
.site-asset-list{display:grid;gap:12px;margin-bottom:10px}.asset-memo{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;margin:6px 0}.asset-memo-input{display:block;margin:16px 0}.asset-memo-input input{width:100%;margin-top:8px}.site-media-slot .btn{white-space:normal}

.soil-depth-button{padding:6px 4px;min-height:44px;width:100%;font-size:13px}.soil-depth-dialog .soil-grid{display:block}.soil-depth-dialog label{display:flex;flex-direction:column;gap:8px}.soil-depth-dialog select{width:100%}

/* Point identity and water heading share the controls' horizontal row. */
.borehole-info{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;margin:10px 0 14px;white-space:nowrap}
.borehole-info .hole-title{margin:0;flex:none}
.borehole-info .hole-title h2{font-size:18px;line-height:1.4;margin:0}
.borehole-info .badge{flex:none;font-size:10px;margin:0}
.borehole-info p{font-size:12px;margin:0;line-height:1.4}
.water-card{display:flex;align-items:center;gap:12px;padding:12px}
.water-card h2{flex:none;font-size:14px;line-height:1.4;white-space:nowrap;margin:0}
.water-card .water-row{flex:1;min-width:0;gap:6px}
.water-card .water-date input{width:118px}
@media(max-width:450px){
 .borehole-info{gap:5px}.borehole-info .hole-title h2{font-size:16px}.borehole-info p{font-size:11px}
 .water-card{gap:6px;padding:10px 8px}.water-card h2{font-size:12px}
 .water-card .water-row{gap:4px;font-size:11px}.water-card .water-row input[type=number]{width:36px}
 .water-card .water-date input{width:106px;font-size:11px}
}
@media(max-width:350px){
 .borehole-info{gap:4px}.borehole-info .hole-title h2{font-size:14px}.borehole-info p{font-size:10px}.borehole-info .badge{font-size:9px;padding:2px 4px}
 .water-card{gap:4px}.water-card .water-row{gap:3px;font-size:10px}.water-card .water-row input[type=number]{width:30px;padding:4px 2px}
 .water-card .water-row input[type=radio]{width:13px;height:13px;min-height:13px}
 .water-card .water-date{gap:2px}.water-card .water-date input{width:99px;font-size:10px}
}

.color-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.point-tabs{gap:6px;margin:22px 0 0;align-items:stretch}
.point-tabs .btn{border-radius:10px 10px 0 0;background:#f0f2f3;color:#555f65;border:1px solid #ced5d8;border-bottom:0;min-height:56px}
.point-tabs [data-tab=layers][aria-selected=true]{background:#07813d;border-color:#07813d;color:#fff}
.point-tabs [data-tab=penetration][aria-selected=true]{background:#1768a8;border-color:#1768a8;color:#fff}
.record-panel{--panel-color:#07813d;--panel-bg:#f0f8f2;--panel-head:#dcefe2;border:2px solid var(--panel-color);border-top-width:5px;border-radius:0 0 8px 8px;background:var(--panel-bg);margin:0;padding:0 0 12px;overflow:hidden}
.record-panel.penetration-panel{--panel-color:#1768a8;--panel-bg:#eef5fc;--panel-head:#dcebf8}
.record-panel .field-table{margin:0 0 12px;background:var(--panel-bg)}
.record-panel .field-table th{background:var(--panel-head);color:#243640}
.record-panel .field-table td{background:var(--panel-bg)}
.record-panel .field-table th,.record-panel .field-table td{border-color:#c9d8d2}
.penetration-panel .field-table th,.penetration-panel .field-table td{border-color:#c6d7e6}
.record-panel .link{color:var(--panel-color)}
.record-panel .btn{color:var(--panel-color);border-color:var(--panel-color);background:#fff}
.record-panel>.btn{width:calc(100% - 20px);margin:0 10px}
.record-panel .empty-note{padding:0 10px}
.color-fields label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:13px}
.color-fields select{width:100%;min-width:0;height:48px;padding:6px;font-size:14px}
@media(max-width:350px){.color-fields{gap:6px}.color-fields select{font-size:12px;padding:4px}}
#layer-summary{width:100%;min-height:150px;border:1px solid #00952c;border-radius:3px;padding:12px;font:inherit;resize:vertical}
.depth-photo-links{display:grid;gap:8px;margin:12px 0}
.depth-photo-link{display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;white-space:normal}
.depth-photo-link span{font-size:12px;font-weight:400}
.sample-references{margin-top:20px}.sample-references summary{cursor:pointer;color:#52685b;font-size:14px}
.record-panel .layer-complete{background:#07813d;color:white;font-size:14px;white-space:normal}
.depth-photo-viewer{width:min(760px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:90dvh;padding:16px;box-sizing:border-box;overflow-y:auto}
.depth-photo-viewer .media-dialog-head{gap:8px}.depth-photo-viewer h2{font-size:17px}.depth-photo-viewer .media-dialog-head .btn{white-space:nowrap;padding:8px 12px}
.depth-photo-stage{background:#17251e;display:flex;align-items:center;justify-content:center;min-height:220px;height:50dvh;max-height:520px;touch-action:pan-y;user-select:none}
.depth-photo-stage img{width:100%;height:100%;object-fit:contain;min-width:0}
.depth-photo-caption{text-align:center;margin:12px 0}.depth-photo-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}.depth-photo-controls .btn{padding:10px 12px}.depth-photo-controls span{white-space:nowrap}
