.sortable-header-content{gap:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sort-icon-button,.sortable-header-content{align-items:center;cursor:pointer;display:inline-flex;vertical-align:middle}.sort-icon-button{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent!important;border:0!important;border-radius:3px;box-shadow:none!important;color:#212529;font-size:13px;height:18px;justify-content:center;line-height:1;margin:0;padding:0!important;width:18px}.sort-icon-button:hover{background:rgba(13,110,253,.08)!important;color:#0d6efd}.sort-icon-button:focus{box-shadow:0 0 0 2px rgba(13,110,253,.15)!important;outline:none}.sort-icon-button .fa{display:block;height:1em;line-height:1;width:1em}.user-contract-section{background:#fff;border:1px solid #e9ecef;border-radius:10px;padding:16px}.user-contract-header{align-items:center;border-bottom:1px solid #edf0f2;display:flex;gap:12px;justify-content:space-between;padding-bottom:10px}.user-contract-header h5,.user-contract-header h6{color:#17324d;font-weight:600}.user-contract-section .table{margin-bottom:0}.user-contract-section .table th{font-size:13px;white-space:nowrap}.user-contract-section .table td{font-size:13px;vertical-align:middle}.user-contract-section .btn{white-space:nowrap}@media (max-width:767.98px){.user-contract-section{padding:12px}.user-contract-header{align-items:flex-start}.user-contract-header .badge{margin-top:2px}}.contract-confirm-modal{align-items:center;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.contract-confirm-backdrop{background:rgba(15,23,42,.55);inset:0;position:absolute}.contract-confirm-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.25);max-height:calc(100vh - 40px);max-width:480px;overflow:auto;position:relative;width:100%;z-index:1}.contract-confirm-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;gap:14px;padding:18px 20px}.contract-confirm-icon{align-items:center;background:#fff3cd;border-radius:50%;color:#dc3545;display:flex;flex:0 0 42px;font-size:18px;height:42px;justify-content:center;width:42px}.contract-confirm-header h5{color:#17324d;font-weight:600;margin:0}.contract-confirm-body{padding:20px}.contract-confirm-details{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;flex-direction:column;gap:4px;margin-top:12px;padding:12px 14px}.contract-confirm-details strong{color:#17324d}.contract-confirm-details span{color:#6c757d;font-size:13px}.contract-confirm-footer{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:8px;justify-content:flex-end;padding:14px 20px}@media (max-width:576px){.contract-confirm-modal{padding:12px}.contract-confirm-dialog{max-height:calc(100vh - 24px);max-width:100%}.contract-confirm-footer{flex-direction:column-reverse}.contract-confirm-footer .btn{width:100%}}.planted-tree-list-toolbar{align-items:center;background:#f8fafb;border-bottom:1px solid #e7edf0;display:flex;gap:16px;justify-content:space-between}.planted-tree-sort{width:140px}.planted-tree-record-list{display:flex;flex-direction:column;gap:20px}.planted-tree-record{background:#fff;border:1px solid #dfe5ea;border-radius:10px;box-shadow:0 4px 14px rgba(33,55,70,.08);display:flex;min-height:238px;overflow:hidden;transition:box-shadow .15s ease,transform .15s ease}.planted-tree-record:hover{box-shadow:0 8px 20px rgba(33,55,70,.14);transform:translateY(-2px)}.planted-tree-record-photo{align-items:center;background:#f1f4f5;border:1px solid #d9e0e5;border-radius:7px;color:#9aa9b1;display:flex;font-size:46px;justify-content:center;margin:20px;min-width:190px;overflow:hidden;width:190px}.planted-tree-record-content{display:flex;flex:1;flex-direction:column;min-width:0;padding:20px 26px 20px 4px}.planted-tree-record-header{align-items:flex-start;border-bottom:1px solid #edf0f2;display:flex;gap:18px;justify-content:space-between;min-height:42px}.planted-tree-record-title{align-items:center;color:#087f88;display:flex;flex-wrap:wrap;gap:12px}.planted-tree-record-title h5{color:#07828b;font-size:14px;font-weight:700;margin:0}.planted-tree-record-title strong{color:#07828b;font-size:13px}.planted-tree-divider{color:#5e6b72}.planted-tree-record-number{color:#4e5f69;font-size:12px;font-weight:700}.planted-tree-actions-label{bottom:calc(100% + 5px);color:#65727a;font-size:10px;position:absolute;right:0;white-space:nowrap}.planted-tree-record-actions{align-items:center;display:flex;gap:6px;padding-top:9px;position:relative}.planted-tree-action{align-items:center;border:0;border-radius:8px;box-shadow:0 2px 5px rgba(30,45,55,.16);color:#fff;display:inline-flex;font-size:15px;height:36px;justify-content:center;line-height:1;padding:0;text-decoration:none;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease;width:36px}.planted-tree-action-view{background:#087ff5}.planted-tree-action-edit{background:#f5b900}.planted-tree-action-delete{background:#dc3545;cursor:pointer}.planted-tree-action:hover{box-shadow:0 4px 8px rgba(30,45,55,.2);color:#fff;filter:brightness(.92);transform:translateY(-2px)}.planted-tree-action:focus-visible{outline:3px solid rgba(8,127,245,.25);outline-offset:2px}.planted-tree-record-line{border-bottom:1px solid #edf0f2;display:flex;flex-direction:column;gap:3px;padding:12px 0}.planted-tree-record-details span,.planted-tree-record-line span,.planted-tree-replacement span{color:#687780;font-size:11px}.planted-tree-record-line strong{color:#1f3038;font-size:13px;font-weight:500}.planted-tree-record-details{border-bottom:1px solid #edf1ef;border-top:1px solid #edf1ef;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0 14px;padding:12px 0}.planted-tree-record-details span,.planted-tree-replacement span{display:block;font-weight:600;letter-spacing:.04em;margin-bottom:3px;text-transform:uppercase}.planted-tree-record-details strong{color:#294437;display:block;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planted-tree-replacement{align-items:center;background:#fff7e6;border-radius:7px;color:#946200;display:flex;gap:10px;min-height:42px;padding:8px 11px}.planted-tree-replacement.is-original{background:#f1f7f3;color:#2f7d4a}.planted-tree-replacement>i{text-align:center;width:20px}.planted-tree-replacement strong{color:#394940;font-size:13px;font-weight:600}@media (max-width:767.98px){.planted-tree-record{flex-direction:column}.planted-tree-record-photo{height:150px;margin:16px 20px 0;min-width:0;width:calc(100% - 40px)}.planted-tree-record-content{padding:16px 20px 20px}.planted-tree-record-header{flex-direction:column;gap:10px}.planted-tree-record-actions{align-self:flex-end}}@media (max-width:575.98px){.planted-tree-list-toolbar{align-items:flex-start;flex-direction:column}.planted-tree-record-details{grid-template-columns:1fr 1fr}.planted-tree-record-details div:last-child{grid-column:1/-1}}.qr-print-page{align-items:flex-start;display:flex;justify-content:center;min-height:100vh}.qr-card,.qr-print-page{background:#fff;padding:24px}.qr-card{border:1px solid #ddd;border-radius:10px;text-align:center;width:360px}.qr-card h2{font-size:22px;margin:0 0 18px}.qr-code-wrap{display:flex;justify-content:center;margin-bottom:16px}.qr-code{background:#fff;border:1px solid #ddd;height:240px;padding:8px;width:240px}.tree-name{font-weight:700;margin-top:4px}.tree-details{color:#555;font-size:14px;margin-top:5px}.public-url{color:#444;font-size:10px;margin-top:10px;word-break:break-all}@media print{@page{size:auto;margin:10mm}.qr-print-page{padding:0}.qr-card{border:0}}.status-history-timeline{padding-left:22px;position:relative}.status-history-timeline:before{background:#dee2e6;bottom:8px;content:"";left:6px;position:absolute;top:8px;width:2px}.status-history-item{padding:0 0 20px 20px;position:relative}.status-history-item:last-child{padding-bottom:0}.status-history-marker{background:#fff;border-radius:50%;color:#0d6efd;font-size:12px;height:15px;left:-1px;line-height:15px;position:absolute;top:2px;width:15px;z-index:1}.status-history-content{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:14px 16px}.status-history-title{color:#212529;font-size:16px;font-weight:600}.status-history-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;min-height:28px;padding:4px 10px;white-space:nowrap}.status-history-success{background:#d1e7dd;color:#0f5132}.status-history-danger{background:#f8d7da;color:#842029}.status-history-warning{background:#fff3cd;color:#664d03}.status-history-secondary{background:#e9ecef;color:#495057}.status-history-meta{color:#495057;font-size:13px}@media (max-width:576px){.status-history-content{padding:12px}.status-history-badge{margin-top:2px}}.replacement-history-list{align-items:stretch;display:flex;gap:12px}.replacement-history-item{align-items:center;background:#f8fafb;border:1px solid #e1e8eb;border-radius:8px;display:flex;flex:1;gap:10px;min-width:0;padding:12px 14px;position:relative}.replacement-history-item.is-current{background:#f1f9f3;border-color:#b8dfc5}.replacement-history-marker{align-items:center;background:#e7edf0;border-radius:50%;color:#58717c;display:inline-flex;flex:0 0 32px;height:32px;justify-content:center;width:32px}.replacement-history-item.is-current .replacement-history-marker{background:#d1e7dd;color:#198754}.replacement-history-content{min-width:0}.replacement-history-label{color:#6b7b83;display:block;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.replacement-history-content strong{color:#1f3038;font-size:14px}.replacement-history-meta{color:#6b7b83;font-size:12px;margin-top:3px}.replacement-history-arrow{color:#91a2aa;flex:0 0 auto}@media (max-width:767.98px){.replacement-history-list{flex-direction:column}.replacement-history-arrow{align-self:center;transform:rotate(90deg)}}.profile-page{min-height:100%}.profile-header-card{background:linear-gradient(135deg,#fff,#f4f8fc);border-radius:18px}.profile-avatar{background:linear-gradient(135deg,#0d6efd,#3b82f6);border-radius:18px;box-shadow:0 10px 25px rgba(13,110,253,.18);color:#fff;flex:0 0 72px;font-size:24px;font-weight:700;height:72px;justify-content:center;width:72px}.profile-avatar,.profile-role-badge{align-items:center;display:inline-flex}.profile-role-badge{background:#e8f1ff;border-radius:999px;color:#0d5fd1;font-size:12px;font-weight:600;padding:3px 10px}.profile-section-card{border-radius:18px;overflow:hidden}.profile-section-header{align-items:center;background:linear-gradient(90deg,#205f91,#2f74a9);color:#fff;display:flex;gap:16px;justify-content:space-between;min-height:76px;padding:16px 22px}.profile-section-header h5{font-size:18px;font-weight:600}.profile-section-header p{color:hsla(0,0%,100%,.78);font-size:13px}.profile-section-icon{align-items:center;background:hsla(0,0%,100%,.12);border-radius:50%;color:#0d6efd;display:inline-flex;font-size:17px;height:42px;justify-content:center;width:42px}.profile-section-icon.security-icon{color:#ffc107}.form-label{color:#17324d;font-size:13px;font-weight:600;margin-bottom:8px}.form-control[disabled]{background-color:#edf2f7;border-color:#cfdae6;color:#294a67;opacity:1}.form-text{color:#6c7d8d;font-size:12px;margin-top:6px}.security-row{align-items:center;display:flex;gap:20px;justify-content:space-between;min-height:84px}.change-password-card{border-radius:18px;overflow:hidden}.password-input-wrapper{position:relative}.password-input-wrapper .form-control{padding-right:44px}.password-toggle{background:transparent;border:0;color:#6c7d8d;cursor:pointer;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.password-toggle:focus{outline:none}@media (min-width:768px){.change-password-card .card-body{max-width:760px}}@media (max-width:767.98px){.profile-avatar{flex-basis:60px;font-size:20px;height:60px;width:60px}.security-row{align-items:flex-start;flex-direction:column}.security-row .btn{width:100%}}.dashboard-page{color:#183153}.dashboard-hero{background:linear-gradient(135deg,#1f5f8b,#2b7a4b);color:#fff}.metric-card{transition:transform .15s ease,box-shadow .15s ease}.metric-card:hover{transform:translateY(-2px)}.metric-label{color:#6c757d;font-size:.8rem}.metric-value{font-size:1.8rem;font-weight:700;line-height:1.2;margin-top:.2rem}.metric-icon{align-items:center;background:#eef5f8;border-radius:12px;color:#216b95;display:flex;height:42px;justify-content:center;width:42px}.status-dot{background:#adb5bd;border-radius:50%;display:inline-block;height:9px;margin-right:8px;width:9px}.status-healthy{background:#2f9e44}.status-unhealthy{background:#f08c00}.status-planted{background:#339af0}.status-verified{background:#7950f2}.status-dead,.status-removed{background:#e03131}.activity-tile{background:#f7f9fb;border:1px solid #e9ecef;border-radius:12px;padding:16px}.current-photo-preview{max-width:100%;width:180px}.current-photo-preview img{border:1px solid #dee2e6;height:140px;-o-object-fit:cover;object-fit:cover;width:100%}.tree-information-photo{height:220px;max-width:280px}.google-map-snapshot,.tree-information-photo{-o-object-fit:cover;object-fit:cover;width:100%}.google-map-snapshot{max-height:320px}.tree-information-subsection{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:14px}.timeline-stage-list{display:flex;flex-direction:column;gap:12px}.timeline-stage-row{align-items:flex-start;background:#fff;display:flex;gap:16px}.timeline-stage-photo{flex:0 0 190px}.timeline-stage-info{flex:1 1 auto;min-width:0}.timeline-photo-button{background:transparent;border:0;overflow:hidden;padding:0;position:relative}.timeline-photo,.timeline-photo-button{border-radius:8px;display:block;width:100%}.timeline-photo{border:1px solid #dee2e6;height:140px;-o-object-fit:cover;object-fit:cover}.timeline-photo-overlay{align-items:center;background:rgba(0,0,0,.35);color:#fff;display:flex;font-size:22px;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .15s ease}.timeline-photo-button:focus .timeline-photo-overlay,.timeline-photo-button:hover .timeline-photo-overlay{opacity:1}.timeline-photo-placeholder{align-items:center;background:#f8f9fa;border:1px dashed #adb5bd;border-radius:8px;color:#6c757d;display:flex;flex-direction:column;gap:6px;height:140px;justify-content:center;width:100%}.stage-status{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;min-height:28px;padding:4px 10px;white-space:nowrap}.stage-status-completed{background:#d1e7dd;color:#0f5132}.stage-status-pending{background:#fff3cd;color:#664d03}.timeline-meta{color:#495057;line-height:1.6}.stage-photo-preview img{max-height:280px;max-width:100%;-o-object-fit:contain;object-fit:contain}@media (max-width:767.98px){.timeline-stage-row{flex-direction:column}.timeline-stage-photo{flex-basis:auto;width:100%}.timeline-photo,.timeline-photo-placeholder{height:180px}}.tree-photo-thumbnail{background:#f8fafc;display:block;max-width:100%;-o-object-fit:cover;object-fit:cover}.tree-photo-viewer-image{display:block;margin:0 auto;max-height:75vh;max-width:100%;-o-object-fit:contain;object-fit:contain}.current-photo-preview img,.inspection-photo-preview img,.stage-photo-preview img{max-height:240px;max-width:100%;-o-object-fit:contain;object-fit:contain}.planted-tree-record-photo img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.public-tree-stage-photo{cursor:pointer;height:200px;width:200px}.public-tree-inspection-photo{cursor:pointer;height:80px;width:80px}.maintenance-photo-thumbnail{height:64px;width:64px}
