:root{--ink:#23372f;--muted:#7c867d;--green:#263f35;--lime:#d4ec95;--paper:#f6f7f3;--line:#e6e9e1;--white:#fff;--amber:#b47b24;--danger:#b4574f;font-family:'Segoe UI',Arial,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{transition:background .18s,transform .18s,color .18s}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible{outline:3px solid #a3c968;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid #a6be86;outline-offset:1px}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-1.1px;font-weight:600;margin-bottom:9px}h2{font-size:19px;letter-spacing:-.4px;font-weight:600}h3{font-size:15px;font-weight:600}button:disabled{opacity:.5;cursor:wait}.muted{color:var(--muted);line-height:1.65}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600}.brand{display:flex;align-items:center;gap:12px;color:white;font-size:28px;letter-spacing:-1.4px;font-weight:600}.brand small{display:block;font-size:7px;letter-spacing:1.7px;margin-top:4px;font-weight:400;color:#a9bbb0}.brand-mark{font:italic 44px Georgia;letter-spacing:-6px;color:var(--lime);line-height:1}.brand-mark span{font-style:normal;font-size:32px;margin-left:3px}.sidebar{position:fixed;left:0;top:0;bottom:0;width:248px;background:#182e27;color:#c2cdc4;padding:35px 23px 20px;display:flex;flex-direction:column;z-index:100}.workspace-tag{border:1px solid #3c4c3f;border-radius:9px;padding:13px 10px;display:flex;gap:10px;align-items:center;font-size:11px;margin:36px 0 29px;color:#e7eee6}.workspace-tag small{display:block;color:#93a599;font-size:10px;margin-top:4px}.workspace-icon{width:29px;height:29px;background:#3d5043;display:grid;place-items:center;border-radius:7px;color:var(--lime);font-family:Georgia}.online-dot{width:6px;height:6px;background:var(--lime);border-radius:50%;margin-left:auto}.nav-label{font-size:8px;color:#889781;letter-spacing:1.8px;padding-left:13px;margin-bottom:11px}nav a{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:7px;font-size:12px;margin:4px 0;color:#b8c6bd}nav a.active{background:var(--lime);color:#203429;font-weight:600}nav a:hover:not(.active){background:#2d4335}nav a svg{width:18px;height:18px}nav a .nav-count{font-size:10px;margin-left:auto;background:#ffffff15;border-radius:5px;padding:2px 6px}nav a.active .nav-count{background:#23372f12}.sidebar-bottom{margin-top:auto;padding-top:25px}.sidebar-card{border:1px solid #425641;border-radius:9px;padding:17px;margin-bottom:23px;background:linear-gradient(135deg,#30463844,transparent)}.sidebar-card strong{display:block;font-size:11px;color:#e1eadb;margin:11px 0 7px}.sidebar-card p{font-size:10px;color:#9bac9e;line-height:1.7;margin:0}.mini-spark{font-size:26px;color:var(--lime)}.profile{width:100%;background:none;border:0;padding:0;display:flex;align-items:center;gap:10px;text-align:left;color:#e1e9de}.profile>span:last-child{margin-left:auto;color:#a5b397}.avatar{width:35px;height:35px;border-radius:50%;background:#e4ebd7;color:#344735;display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;font-weight:600}.profile small{display:block;color:#959f8b;font-size:9px;margin-top:5px}.profile #profile-name{font-size:11px}.logout{background:none;border:0;color:#91a095;font-size:10px;width:100%;text-align:left;padding:16px 0 0}.logout span{float:right}.app-shell{margin-left:248px}.topbar{height:80px;padding:0 39px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fbfcf9}.breadcrumb{display:flex;align-items:center;gap:14px;font-size:11px;color:#92998f}.breadcrumb strong{color:#4c5b4f;font-weight:500}.top-actions{display:flex;align-items:center;gap:19px}#global-search{display:flex;align-items:center;gap:9px;color:#899486}#global-search svg{width:16px;height:16px}#global-search input{background:transparent;border:0;width:239px;font-size:11px;padding:9px 0;outline:none}kbd{background:white;border:1px solid var(--line);border-radius:4px;padding:2px 5px;font-size:10px}.icon-button{border:0;background:none;display:inline-flex;align-items:center;justify-content:center;position:relative;padding:7px}.icon-button i{width:4px;height:4px;background:#a3ba69;position:absolute;right:9px;top:7px;border-radius:50%}.avatar.small{width:30px;height:30px;font-size:11px;background:#e7eadf}.mobile-menu{display:none}main#main{padding:35px 39px 22px;min-height:calc(100vh - 127px);max-width:1800px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:15px}.page-head p{color:var(--muted);font-size:12px;margin:0;line-height:1.6}.page-head .eyebrow{display:block;color:#889781;font-size:9px;margin-bottom:11px}.head-actions{display:flex;align-items:center;gap:9px}.btn{border:1px solid #dce1d5;padding:11px 15px;border-radius:7px;background:white;color:#455240;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap}.btn svg{width:16px;height:16px}.btn:hover{background:#edf1e4;transform:translateY(-1px)}.btn.primary{background:var(--green);color:#fff;border-color:var(--green)}.btn.primary:hover{background:#3c5745}.btn.lime{background:var(--lime);color:#263b2d;border-color:var(--lime)}.btn.ghost{background:transparent}.btn.danger{color:var(--danger)}.btn.small{padding:7px 10px;font-size:10px}.btn.full{width:100%;justify-content:space-between;margin-top:6px}.welcome-banner{background:#e9efdf;border:1px solid #dde6d1;border-radius:10px;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;margin-bottom:24px;gap:12px;font-size:11px}.welcome-banner strong{font-weight:600}.welcome-banner p{margin:4px 0 0;color:#7b886d;font-size:10px}.welcome-banner svg{color:#657d49}.banner-copy{display:flex;gap:12px;align-items:center}.text-link{border:0;background:none;font-size:11px;font-weight:600;padding:4px;color:#526a44;display:inline-flex;align-items:center;gap:7px}.text-link:hover{color:#859d58}.text-link svg{width:14px;height:14px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:19px 20px;min-height:147px}.stat-card.dark{background:#263e32;color:#f5f8ef;border-color:#263e32;position:relative;overflow:hidden}.stat-card.dark:after{content:'';position:absolute;width:130px;height:130px;border:1px solid #74845b35;transform:rotate(28deg);right:-60px;top:10px;border-radius:23px;pointer-events:none}.stat-label{display:flex;justify-content:space-between;font-size:11px;color:#7d8778;align-items:center}.stat-card.dark .stat-label{color:#bccdaf}.stat-label svg{width:17px;height:17px}.stat-value{font-size:32px;font-weight:600;letter-spacing:-1px;margin:15px 0 10px;line-height:1}.stat-value small{font-size:12px;letter-spacing:0;font-weight:400;margin-left:4px;color:#86917f}.stat-card.dark .stat-value small{color:#cad7b9}.stat-foot{font-size:9px;color:#909988}.stat-foot span{color:#698744}.stat-card.dark .stat-foot{color:#a8c3b3}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:22px;margin-bottom:24px}.panel{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:20px 21px 17px;gap:10px}.panel-head h2{font-size:14px;margin-bottom:5px;letter-spacing:-.15px}.panel-head p{font-size:10px;color:var(--muted);margin:0}.panel-content{padding:0 21px 20px}.panel-head .text-link{font-size:10px}.map-wrap{height:278px;position:relative;background:#eef0e7;margin:0 15px 15px;border-radius:7px;overflow:hidden}.map-wrap .map{height:100%;z-index:1}.map-overlay{position:absolute;bottom:14px;left:14px;z-index:500;background:#fffef7ed;box-shadow:0 4px 20px #27332910;border:1px solid #e1e6d8;border-radius:7px;padding:11px 14px;max-width:calc(100% - 28px);font-size:10px;line-height:1.5}.map-overlay strong{display:block;font-size:11px;margin-bottom:3px}.map-overlay svg{width:13px;height:13px;vertical-align:middle;margin-right:5px}.leaflet-container{font-family:'Segoe UI',Arial,sans-serif;background:#e9eee3}.leaflet-control-attribution{font-size:8px!important}.custom-marker{background:#263e32;border:3px solid #d4ec95;border-radius:50%;box-shadow:0 3px 10px #25352a33;color:white;display:grid;place-items:center;font-size:10px}.health-body{padding:0 21px 17px}.health-score{display:flex;align-items:center;gap:22px;padding:7px 0 18px}.ring{--pct:0;position:relative;width:99px;height:99px;flex-shrink:0;border-radius:50%;background:conic-gradient(#b7d878 calc(var(--pct)*1%),#eff1e9 0);display:grid;place-items:center}.ring:before{content:'';position:absolute;inset:8px;background:white;border-radius:50%}.ring span{position:relative;text-align:center;font-size:23px;font-weight:600;letter-spacing:-1px}.ring span small{display:block;font-size:8px;letter-spacing:0;font-weight:400;color:#8b9484;margin-top:2px}.health-score strong{font-size:12px;line-height:1.6}.health-score p{font-size:10px;color:#89927f;line-height:1.7;margin:5px 0 0}.health-line{display:flex;align-items:center;justify-content:space-between;margin:14px 0;font-size:10px}.health-line span{display:flex;align-items:center;gap:8px}.dot{width:6px;height:6px;border-radius:50%;background:#a9c177;display:inline-block}.dot.amber{background:#dcb270}.dot.gray{background:#c6ccbd}.health-note{border-top:1px solid var(--line);padding-top:13px;font-size:9px;line-height:1.6;color:#96a08f;margin:12px 0 0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#fafbf7;color:#8b9483;font-size:9px;font-weight:500;padding:12px 20px;border-block:1px solid var(--line)}td{padding:15px 20px;border-bottom:1px solid #eff1eb;font-size:11px;color:#5b6855}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcf8}.property-cell{display:flex;align-items:center;gap:11px;min-width:220px}.property-cell strong{display:block;font-size:11px;font-weight:600;color:#364730}.property-cell small{display:block;font-size:9px;color:#929b87;margin-top:4px}.property-icon{width:36px;height:36px;border:1px solid #e9e7dc;border-radius:7px;background:#f1f4e9;display:grid;place-items:center;color:#82956e;flex-shrink:0}.property-icon svg{width:18px;height:18px}.badge{padding:5px 8px;font-size:9px;border-radius:5px;display:inline-flex;align-items:center;gap:5px;font-weight:500;background:#f6f0e2;color:#a48242}.badge:before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor}.badge.green{background:#edf4e5;color:#6a8954}.badge.blue{background:#eaf0f5;color:#66869b}.badge.red{background:#f9ebe8;color:#b26f65}.badge.gray{background:#f0f1ed;color:#8a9380}.doc-progress{width:58px;height:4px;border-radius:5px;background:#ecefe6;display:inline-block;margin-right:6px;vertical-align:middle;overflow:hidden}.doc-progress i{display:block;height:100%;background:#b1cc78}.table-foot{padding:14px 21px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#929b89;font-size:9px}.app-footer{display:flex;justify-content:space-between;font-size:9px;padding:17px 39px;color:#98a18e}.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:21px}.search-field{display:flex;align-items:center;background:white;border:1px solid var(--line);border-radius:7px;padding:0 12px;min-width:250px;flex:1;max-width:430px}.search-field input{border:0;background:none;outline:none;width:100%;padding:12px 10px;font-size:11px}.search-field svg{width:16px;color:#8a987e}.filters select{border:1px solid var(--line);background:white;border-radius:7px;padding:11px 13px;font-size:11px;color:#738067;max-width:210px}.segmented{display:flex;background:#e9ede2;border-radius:7px;padding:3px;margin-left:auto}.segmented button{border:0;background:none;border-radius:5px;padding:7px 11px;color:#89977d;font-size:11px}.segmented button.active{background:white;color:#435f36;box-shadow:0 1px 3px #2233220a}.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.property-card{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden;transition:transform .2s,box-shadow .2s}.property-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #2233220b}.card-art{height:118px;background:#e7eddd;position:relative;overflow:hidden}.card-art:before,.card-art:after{content:'';position:absolute;width:150px;height:140px;border:1px solid #bacaaa;background:#d8e3c4;transform:rotate(-27deg) skew(15deg);top:30px;left:28px;border-radius:6px}.card-art:after{left:200px;top:-58px;background:#eff3e8}.card-art.tone-1{background:#e9e7dc}.card-art.tone-1:before{background:#dad8c0;border-color:#c1bf9e}.card-art.tone-2{background:#dfe9e6}.card-art.tone-2:before{background:#c6dbcf;border-color:#a8c3b3}.card-art .ref{position:absolute;z-index:1;left:17px;top:15px;font-size:9px;letter-spacing:1px;color:#6a795c}.card-art .badge{position:absolute;right:14px;top:14px;z-index:1;background:#ffffffdb}.card-art svg{position:absolute;right:20px;bottom:15px;width:32px;height:32px;color:#7b906a}.card-body{padding:19px}.card-body h3{font-size:15px;margin-bottom:7px;line-height:1.4;min-height:21px}.card-city{font-size:10px;color:#8d9883;display:flex;align-items:center;gap:5px}.card-city svg{width:12px;height:12px}.card-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-block:1px solid var(--line);margin:17px 0 13px;padding:13px 0}.card-metrics small{display:block;color:#96a08c;font-size:9px;margin-bottom:6px}.card-metrics strong{font-size:12px;font-weight:600}.card-bottom{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#8b997a}.empty{padding:55px 25px;text-align:center;color:#929e85}.empty svg{width:34px;height:34px;margin-bottom:15px}.empty h3{font-size:17px;color:#53694a}.empty p{font-size:12px;line-height:1.7}.detail-hero{background:#263e32;border-radius:12px;padding:29px 32px;color:#f5f8ef;margin-bottom:23px;display:flex;justify-content:space-between;gap:25px;align-items:center}.detail-hero .eyebrow{color:#b4c89a;display:block;margin-bottom:15px}.detail-hero h1{font-size:29px}.detail-hero p{color:#b4c0a7;font-size:12px;margin:13px 0 0}.detail-hero .hero-icon{width:90px;height:90px;color:#b3ce87;border:1px solid #677850;border-radius:22px;display:grid;place-items:center;transform:rotate(-7deg)}.hero-icon svg{width:43px;height:43px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:22px}.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}.data-item small{color:#929b87;font-size:10px;display:block;margin-bottom:7px}.data-item strong{font-size:12px;font-weight:500;white-space:pre-line;overflow-wrap:anywhere;line-height:1.65}.data-item.wide{grid-column:1/-1}.detail-stack{display:flex;flex-direction:column;gap:22px}.notice{background:#faf5e9;border:1px solid #ede3c9;border-radius:7px;padding:13px 15px;color:#a28a55;font-size:11px;line-height:1.6;margin-bottom:20px}.checklist{list-style:none;margin:0;padding:0}.checklist li{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px;color:#849477}.checklist li:last-child{border:0}.checklist svg{width:17px;height:17px;color:#a0b180}.checklist li span:last-child{margin-left:auto;font-size:9px}.big-map{height:580px;margin:0;border-radius:10px}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px}.map-side .panel-content{max-height:490px;overflow:auto}.map-property{display:block;padding:13px 0;border-bottom:1px solid var(--line)}.map-property strong{font-size:11px;display:block;margin:5px 0}.map-property small{font-size:10px;color:#98a08e}.doc-list-item{display:flex;gap:13px;align-items:center;border-bottom:1px solid var(--line);padding:15px 0}.doc-list-item:last-child{border:0}.doc-list-item .doc-info{flex:1;min-width:0}.doc-info strong{display:block;font-size:11px;overflow-wrap:anywhere}.doc-info small{font-size:9px;color:#959f8b;display:block;margin-top:5px;line-height:1.6}.file-icon{width:35px;height:40px;background:#f4eee3;border:1px solid #ede0c6;border-radius:5px;color:#aa966a;display:grid;place-items:center;font-size:8px;flex-shrink:0}.audit-row{display:flex;gap:17px;padding:18px 0;border-bottom:1px solid var(--line)}.audit-row .audit-dot{width:8px;height:8px;background:#b9d18d;border:3px solid #eff4e6;border-radius:50%;box-sizing:content-box;margin-top:3px;flex-shrink:0}.audit-row strong{display:block;font-size:12px;margin-bottom:6px}.audit-row p{font-size:11px;color:#859577;line-height:1.5;margin:0}.audit-row time{margin-left:auto;font-size:10px;color:#98a18f;white-space:nowrap}.section-space{margin-top:22px}.report-cities{display:flex;flex-direction:column;gap:19px}.city-line .labels{display:flex;justify-content:space-between;font-size:11px;margin-bottom:8px}.bar{height:7px;background:#e7ebf1;border-radius:4px;overflow:hidden}.bar i{display:block;height:100%;background:#85a1cc;border-radius:4px}.loading{padding:60px;text-align:center;color:#849477}.toast{position:fixed;bottom:26px;left:calc(50% + 124px);transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#233e30;color:white;padding:14px 23px;border-radius:8px;box-shadow:0 7px 35px #142b2825;z-index:2000;font-size:12px;max-width:85vw;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#8c4d42}dialog{padding:0;border:1px solid #e3e8db;border-radius:14px;width:min(760px,94vw);max-height:90vh;box-shadow:0 30px 100px #0b201633;color:var(--ink)}dialog::backdrop{background:#0d231970;backdrop-filter:blur(3px)}.modal-head{padding:24px 28px 18px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:5}.modal-head h2{margin:0 0 5px;font-size:20px}.modal-head p{font-size:11px;color:#8b997e;margin:0}.modal-body{padding:24px 28px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:18px 28px;background:#fafbf7;border-top:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .wide{grid-column:1/-1}label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#5e6c54;font-weight:500}label small{font-weight:400;color:#939e87;font-size:10px}input,textarea,select{border:1px solid #dde3d4;border-radius:6px;padding:11px 12px;background:#fff;color:#42543a;min-width:0;max-width:100%;width:100%}textarea{min-height:100px;resize:vertical}input::placeholder,textarea::placeholder{color:#a8afa0}.check{flex-direction:row;align-items:center;gap:9px;font-weight:400;line-height:1.5}.check input{width:15px;height:15px;accent-color:#678244;flex-shrink:0}.form-divider{font-size:10px;letter-spacing:1px;color:#8c9c7c;border-bottom:1px solid var(--line);padding-bottom:11px;margin-top:5px}.form-error{color:#a65448;font-size:11px;line-height:1.6;margin-top:12px}.upload-zone{border:1px dashed #b8c79f;background:#f6f9f0;border-radius:9px;padding:27px;text-align:center;cursor:pointer;color:#82976a;display:block}.upload-zone svg{width:30px;height:30px;margin-bottom:12px}.upload-zone strong{display:block;font-size:13px;color:#5e7750}.upload-zone span{display:block;font-size:10px;margin:7px 0 15px}.upload-zone input{font-size:11px;background:white}.upload-zone.dragover{background:#e9f2d8}.file-selection{font-size:10px;color:#7f936b;line-height:1.8;margin-top:10px}.preview-frame{width:100%;height:66vh;border:0}.preview-image{max-width:100%;max-height:70vh;display:block;margin:auto}.field-map{height:235px;border-radius:7px;margin-top:10px}.auth-layout{display:grid;grid-template-columns:1.08fr 1fr;min-height:100vh}.auth-story{background:#1c342b;padding:45px 62px;color:white;position:relative;overflow:hidden;display:flex;flex-direction:column}.auth-story .brand{font-size:32px}.auth-headline{margin-top:90px;position:relative;z-index:2}.auth-headline .eyebrow{color:#afc38f;font-size:9px}.auth-headline h1{font-family:Georgia,serif;font-size:clamp(38px,3.8vw,60px);font-weight:400;line-height:1.15;margin:25px 0}.auth-headline em{color:var(--lime);font-weight:400}.auth-headline p{font-size:13px;color:#aebfac;max-width:350px;line-height:1.9}.auth-story footer{margin-top:auto;padding-top:170px;display:flex;justify-content:space-between;color:#96ad96;font-size:10px;position:relative;z-index:2}.auth-landscape{height:250px;position:absolute;bottom:40px;right:-30px;left:200px;opacity:.7;transform:rotate(-20deg) skew(15deg);pointer-events:none}.parcel{border:1px solid #829c6066;border-radius:12px;position:absolute;background:linear-gradient(135deg,#8ca66717,#adc07908);color:#a4bc7a66;font-size:11px;padding:15px}.p1{width:145px;height:110px;top:0;left:0}.p2{width:160px;height:140px;top:0;left:165px}.p3{width:170px;height:95px;top:160px;left:165px}.p4{width:145px;height:140px;top:130px;left:0}.p5{width:130px;height:220px;top:0;left:345px}.landscape-label{position:absolute;top:-20px;left:12px;letter-spacing:2px;color:#94aa7966;font-size:8px}.auth-panel{display:grid;place-items:center;padding:45px}.auth-form{width:100%;max-width:365px}.pill{font-size:9px;letter-spacing:1.1px;color:#8a9f6b;background:#eaf0df;padding:7px 11px;border-radius:4px;display:inline-block;margin-bottom:23px}.auth-form h2{font-size:29px;letter-spacing:-1px;line-height:1.25;margin-bottom:12px}.auth-form .muted{font-size:12px;margin-bottom:28px}.auth-form form{display:flex;flex-direction:column;gap:19px}.auth-form input{padding:13px 12px}.auth-form input[type=checkbox]{padding:0}.auth-note{font-size:10px;color:#a2ad95;line-height:1.8;margin:30px 0 0;padding-top:24px;border-top:1px solid var(--line)}.demo-link{font-size:11px;text-align:center;display:block;margin-top:24px;color:#6d8650}.back-link{display:inline-flex;gap:7px;align-items:center;font-size:11px;color:#879977;margin-bottom:19px}.version-history{font-size:10px;color:#98a18f;margin-top:5px}.print-only{display:none}
.pdf-tools{display:flex;gap:10px;align-items:center;justify-content:center;padding:0 0 14px}.pdf-page{font-size:11px;min-width:65px;text-align:center}.pdf-paper{overflow:auto;max-height:60vh;background:#e7eadf;padding:12px;border-radius:6px}.pdf-paper canvas{display:block;margin:auto;background:white;box-shadow:0 3px 10px #263e321a}.pdf-preview{min-height:200px}
@media(min-width:1550px){.stats-grid{gap:22px}.stat-card{padding:25px}.map-wrap{height:310px}.health-body{padding:10px 25px 20px}.health-line{margin:18px 0}.sidebar{width:260px}.app-shell{margin-left:260px}}
@media(max-width:1180px){.sidebar{width:216px;padding-inline:18px}.app-shell{margin-left:216px}.topbar{padding-inline:25px}main#main{padding:28px 25px}.stats-grid{gap:10px}.stat-card{padding:17px 14px}.stat-value{font-size:28px}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr);gap:15px}.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-actions{gap:9px}#global-search input{width:200px}.page-head h1{font-size:28px}.health-score{gap:13px}.ring{width:84px;height:84px}.detail-grid{grid-template-columns:1.4fr 1fr;gap:15px}.map-layout{grid-template-columns:1fr 250px}.auth-story{padding:40px}.auth-headline{margin-top:70px}}
@media(max-width:960px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.detail-grid,.map-layout{grid-template-columns:1fr}.dashboard-grid .panel:last-child .health-body{display:block}.health-score{float:left;width:48%;min-height:150px}.health-note{clear:both}.health-line{margin-top:16px}.page-head{align-items:flex-start;flex-direction:column}.page-head .head-actions{align-self:flex-end}.detail-hero h1{font-size:25px}.topbar #global-search{display:none}.map-side .panel-content{max-height:250px}.auth-layout{grid-template-columns:1fr 1fr}.auth-headline h1{font-size:38px}.auth-story{padding:35px 27px}.auth-panel{padding:30px}.auth-story footer span{display:none}}
@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:245px}.sidebar.open{transform:translateX(0);box-shadow:20px 0 60px #12291f45}.app-shell{margin:0}.topbar{height:63px;padding:0 16px}.mobile-menu{display:inline-flex}.breadcrumb{gap:9px;font-size:10px}.top-actions{gap:6px}main#main{padding:24px 17px}.page-head{gap:17px;margin-bottom:20px}.page-head h1{font-size:27px}.page-head .head-actions{align-self:flex-start}.welcome-banner{padding:12px;align-items:flex-start}.welcome-banner .text-link{font-size:9px}.welcome-banner p{line-height:1.6}.stat-card{min-height:130px}.stat-value{font-size:28px}.stat-label{font-size:10px}.stat-foot{font-size:8px;line-height:1.5}.property-grid{grid-template-columns:1fr}.filters{gap:9px}.search-field{max-width:none;min-width:100%;flex-basis:100%}.filters select{flex:1;max-width:100%;font-size:10px}.app-footer{padding:14px 17px;font-size:8px}.app-footer span:last-child{display:none}.toast{left:50%;width:max-content}.detail-hero{padding:23px;align-items:flex-start}.detail-hero .hero-icon{display:none}.data-grid{gap:20px 15px}.modal-head,.modal-body{padding:20px}.modal-foot{padding:16px 20px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.big-map{height:450px}.auth-layout{grid-template-columns:1fr}.auth-story{padding:30px;min-height:300px}.auth-headline{margin-top:35px}.auth-headline h1{font-size:35px;margin:14px 0}.auth-headline h1 br:first-child{display:none}.auth-headline p{display:none}.auth-story footer{display:none}.auth-landscape{left:240px;bottom:0}.auth-panel{padding:36px 26px}.auth-form{max-width:430px}.auth-form h2{font-size:26px}.health-score{width:47%}.health-score strong{font-size:10px}.health-score p{font-size:9px}.ring{width:76px;height:76px}.panel-head{padding:18px}.panel-content{padding-inline:18px}.audit-row time{font-size:8px}.doc-list-item{gap:9px}.doc-list-item .btn{padding:7px}.auth-form .pill{margin-bottom:18px}}
@media print{.sidebar,.topbar,.app-footer,.head-actions,.filters,.welcome-banner,.text-link,.no-print{display:none!important}.app-shell{margin:0}main#main{padding:0;max-width:none}.panel,.stat-card{break-inside:avoid}.print-only{display:block}body{background:white}.map-wrap{height:230px}.stats-grid{grid-template-columns:repeat(4,1fr)}.dashboard-grid{grid-template-columns:1.5fr 1fr}.stat-card.dark,.detail-hero{background:#eaf0df;color:#24392a}.badge{border:1px solid #ddd}h1{font-size:25px}.page-head{margin-bottom:15px}}

/* Sortie de visite visible même dans une fenêtre de faible hauteur. */
.sidebar{overflow-y:auto}.sidebar>.brand,.sidebar>.workspace-tag,.sidebar>nav,.sidebar-bottom{flex-shrink:0}.demo-exit{font-size:11px;padding:9px 12px}.top-actions:has(.demo-exit) #global-search{display:none}
@media(max-height:820px){.sidebar-card{display:none}.sidebar-bottom{padding-top:15px}}
@media(max-width:700px){.top-actions:has(.demo-exit)>.avatar,.top-actions:has(.demo-exit)>#alerts-button{display:none}.demo-exit{font-size:10px;padding:9px}.topbar:has(.demo-exit) .breadcrumb>span,.topbar:has(.demo-exit) #breadcrumb{display:none}}
/* ===== Lecteur PDF (préfixe pv-) : lecture continue, vignettes, redressement, impression corrigée ===== */
dialog:has(.pv){width:min(1340px,97vw);height:95vh;max-height:95vh;overflow:hidden}
dialog:has(.pv) #modal-content{display:flex;flex-direction:column;height:100%}
dialog:has(.pv) .modal-head{padding:12px 18px;position:static}dialog:has(.pv) .modal-head h2{font-size:16px;margin-bottom:2px}
dialog:has(.pv) .modal-body{padding:0;flex:1;min-height:0;display:flex}dialog:has(.pv) .modal-foot{padding:10px 18px}
.pv{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:#dfe3d8;color:var(--ink)}
.pv:fullscreen{width:100vw;height:100vh}
.pv-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:8px 12px;background:#1f342c;color:#eef3e6}
.pv-group{display:inline-flex;align-items:center;gap:4px}.pv-group+.pv-group{padding-left:14px;border-left:1px solid #ffffff22}.pv-end{margin-left:auto}
.pv-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:32px;height:32px;padding:0 7px;border:0;border-radius:7px;background:transparent;color:inherit;font-size:11px;font-weight:600;white-space:nowrap}
.pv-btn svg{width:18px;height:18px}.pv-btn:hover{background:#ffffff1c}.pv-btn:focus-visible,.pv-number:focus-visible,.pv-zoom:focus-visible{outline:2px solid var(--lime);outline-offset:1px}
.pv-btn:disabled{opacity:.35;cursor:default;background:transparent}
.pv-toggle{padding:0 10px;border:1px solid #ffffff2e}.pv-toggle[aria-pressed=true]{background:var(--lime);border-color:var(--lime);color:#1f342c}
.pv-btn[data-pv=panel][aria-pressed=true]{background:#ffffff1c}
.pv-action{padding:0 11px;background:#ffffff14}.pv-action[data-pv=print]{background:var(--lime);color:#1f342c}.pv-action[data-pv=print]:hover{background:#e2f5ae}
.pv-pager{display:inline-flex;flex-direction:row;align-items:center;gap:6px;font-size:11px;margin:0;color:inherit}.pv-number{padding:0;margin:0;width:42px;height:28px;border:1px solid #ffffff33;border-radius:6px;background:#ffffff14;color:inherit;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}
.pv-total{opacity:.75;white-space:nowrap;font-variant-numeric:tabular-nums}
.pv-zoom{height:28px;border:1px solid #ffffff33;border-radius:6px;background:#2b4239;color:inherit;font-size:11px;padding:0 6px}
.pv-angle{min-width:46px;text-align:center;font-size:11px;font-variant-numeric:tabular-nums;opacity:.85}
.pv-main{position:relative;flex:1;min-height:0;display:flex}
.pv-thumbs{width:148px;flex-shrink:0;overflow-y:auto;padding:12px 14px;background:#cfd5c7;display:flex;flex-direction:column;gap:10px;position:relative}
.pv-no-thumbs .pv-thumbs{display:none}
.pv-thumb{display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px;border:0;border-radius:8px;background:transparent;transition:none}
.pv-thumb:hover{background:#ffffff66}.pv-thumb.active{background:#fff}
.pv-thumb-frame{display:block;width:100%;background:#fff;box-shadow:0 1px 4px #1f342c33;outline:1px solid #1f342c1a}.pv-thumb.active .pv-thumb-frame{outline:2px solid var(--green)}
.pv-thumb-frame canvas{display:block;width:100%;height:100%}.pv-thumb-label{font-size:10px;font-weight:600;color:#455240}
.pv-scroll{flex:1;min-width:0;overflow:auto;position:relative;outline:none}
.pv-pages{display:flex;flex-direction:column;align-items:center;gap:14px;padding:14px 20px 28px;width:max-content;min-width:100%}
.pv-sheet{flex-shrink:0;background:#fff;box-shadow:0 2px 12px #1f342c2e;position:relative}
.pv-sheet:not(.ready)::after{content:'';position:absolute;left:50%;top:min(50%,180px);width:26px;height:26px;margin:-13px;border:3px solid #d9dfd0;border-top-color:var(--green);border-radius:50%;animation:pv-spin .8s linear infinite}
.pv-sheet canvas{display:block;width:100%;height:100%}
@keyframes pv-spin{to{transform:rotate(360deg)}}
.pv-progress{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#1f342c99;z-index:3}.pv-progress[hidden]{display:none}
.pv-progress-box{width:min(340px,86%);padding:20px;border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:14px;font-size:13px;box-shadow:0 20px 60px #0b201655}
.pv-meter{height:6px;border-radius:3px;background:#e6e9e1;overflow:hidden}.pv-meter i{display:block;height:100%;width:0;background:var(--green);transition:width .2s}
.pv-cancel{align-self:flex-end;border:1px solid #dce1d5;background:#fff;border-radius:7px;padding:7px 12px;font-size:11px;font-weight:600}
.pv-print{display:none}
@media(max-width:900px){.pv-toggle span,.pv-action span{display:none}.pv-toggle,.pv-action{padding:0 7px}.pv-group+.pv-group{padding-left:8px}.pv-bar{gap:6px 8px}}
@media(max-width:700px){dialog:has(.pv){width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0}.pv-thumbs{position:absolute;inset:0 auto 0 0;z-index:2;box-shadow:8px 0 30px #0b201640}.pv-pages{padding:10px 10px 20px}.pv-end{margin-left:0}}
@media(prefers-reduced-motion:reduce){.pv-sheet:not(.ready)::after{animation:none}}
@media print{body:has(>.pv-print)>*:not(.pv-print){display:none!important}body:has(>.pv-print){margin:0;background:#fff}.pv-print{display:block}.pv-print-page{display:flex;align-items:center;justify-content:center;overflow:hidden;break-after:page;page-break-after:always}.pv-print-page:last-child{break-after:auto;page-break-after:auto}.pv-print-page img{display:block;max-width:100%;max-height:100%}}
.btn.danger-fill{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger-fill:hover{background:#9c4840}.notice svg{width:15px;height:15px;vertical-align:-3px;margin-right:4px}
/* Recherche dans le contenu, reconnaissance du texte, corbeille */
.doc-snippet{display:block;margin-top:3px;padding:5px 8px;border-left:2px solid var(--lime);background:#f7f9f1;color:#5b6657;font-style:italic;line-height:1.5;overflow-wrap:anywhere}
.index-status{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:14px;max-width:min(620px,92vw);padding:11px 16px;border-radius:10px;background:#1f342c;color:#eef3e6;font-size:11px;box-shadow:0 12px 40px #0b201655}
.index-status span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.index-status .text-link{color:var(--lime);font-size:11px;flex-shrink:0;border:0;background:none;padding:0}
.welcome-banner .btn{flex-shrink:0}
/* ===== Numérisation par photo (préfixe sc-) ===== */
dialog.sc-dialog{width:min(860px,96vw);height:min(92vh,900px);max-height:92vh;overflow:hidden;padding:0}
dialog.sc-dialog[open]{display:flex;flex-direction:column}
.sc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.sc-head h2{margin:0 0 4px;font-size:17px}.sc-hint{margin:0;font-size:11px;color:#8b997e}
.sc-body{flex:1;min-height:0;display:flex;flex-direction:column;background:#f6f7f3}
.sc-start{flex:1;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:22px}.sc-start[hidden],.sc-editor[hidden],.sc-foot [hidden]{display:none}
.sc-choices{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.sc-pick{cursor:pointer;padding:12px 18px;font-size:12px;letter-spacing:0;margin:0}.sc-pick.primary{color:#fff}
.sc-tip{max-width:420px;margin:0;text-align:center;font-size:11px;line-height:1.6;color:#7c867d}
.sc-pages{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.sc-pages:empty{display:none}
.sc-page{position:relative;width:96px;background:#fff;box-shadow:0 2px 8px #1f342c2e}.sc-page img{display:block;width:100%}.sc-page span{position:absolute;left:4px;bottom:4px;padding:1px 6px;border-radius:9px;background:#1f342c;color:#fff;font-size:10px}
.sc-page button{position:absolute;right:-8px;top:-8px;width:24px;height:24px;border:0;border-radius:50%;background:var(--danger);color:#fff;font-size:11px;line-height:1}
.sc-editor{flex:1;min-height:0;display:flex}.sc-stage{flex:1;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;background:#27332d;touch-action:none}
.sc-frame{position:relative}.sc-photo{display:block;width:100%;height:100%}.sc-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;stroke:none}
.sc-overlay polygon{fill:#d4ec9533;stroke:var(--lime);stroke-width:2;vector-effect:non-scaling-stroke}
.sc-handle{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;padding:0;border:0;border-radius:50%;background:transparent;cursor:grab;touch-action:none;transition:none}
.sc-handle::after{content:'';position:absolute;inset:11px;border-radius:50%;background:var(--lime);border:3px solid #1f342c;box-shadow:0 1px 6px #0008}.sc-handle:focus-visible{outline:2px solid #fff}
.sc-foot{padding:12px 20px;background:#fafbf7;border-top:1px solid var(--line)}.sc-foot>div{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}
.sc-check{display:inline-flex;flex-direction:row;align-items:center;gap:6px;margin:0 auto 0 6px;padding:0;font-size:11px;letter-spacing:0;color:#455240}.sc-check input{width:auto;margin:0;padding:0}
@media(max-width:700px){dialog.sc-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}.sc-foot{padding:10px 12px}.sc-foot .btn{padding:10px 12px}}
/* Photos des biens */
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px}.photo-grid:empty{display:none}
.photo-item{position:relative;margin:0;min-width:0}.photo-thumb{display:block;width:100%;aspect-ratio:4/3;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#eef1e8;cursor:zoom-in}div.photo-thumb{cursor:default}
.photo-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}button.photo-thumb:hover img{transform:scale(1.04)}button.photo-thumb:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.photo-item figcaption{padding:6px 2px 0;font-size:11px;line-height:1.4}.photo-item figcaption strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;overflow:hidden;overflow-wrap:anywhere}.photo-item figcaption small{color:var(--muted);font-size:10px}
.photo-remove{position:absolute;top:6px;right:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:#ffffffe6;color:var(--danger);font-size:11px;box-shadow:0 1px 4px #0b201633}.photo-remove svg{width:14px;height:14px}.photo-remove:hover{background:#fff}
.photo-pick{display:flex;flex-wrap:wrap;gap:10px}.photo-pick label{flex-direction:row;cursor:pointer;margin:0;padding:12px 16px;font-size:12px;letter-spacing:0}.photo-pick label.primary{color:#fff}.photo-pick svg{width:16px;height:16px}
@media(prefers-reduced-motion:reduce){.photo-thumb img{transition:none}}
/* Photo de couverture des biens : première photo déposée */
.card-art.has-photo{height:150px}.card-art.has-photo:before,.card-art.has-photo:after{display:none}
.card-art.has-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}.property-card:hover .card-art.has-photo img{transform:scale(1.04)}
.card-art.has-photo .ref{padding:4px 8px;border-radius:5px;background:#ffffffdb;color:#3d4d35;left:12px;top:12px}
.property-icon.has-photo{padding:0;overflow:hidden;background:#eef1e8}.property-icon.has-photo img{display:block;width:100%;height:100%;object-fit:cover}
.hero-photo{flex-shrink:0;width:230px;aspect-ratio:4/3;padding:0;border:2px solid #ffffff40;border-radius:12px;overflow:hidden;background:#1f342c;cursor:zoom-in}.hero-photo img{display:block;width:100%;height:100%;object-fit:cover}.hero-photo:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
@media(max-width:700px){.detail-hero:has(.hero-photo){flex-direction:column-reverse;align-items:stretch}.hero-photo{width:100%}}
@media print{.hero-photo{border-color:#ccc}}
@media(prefers-reduced-motion:reduce){.card-art.has-photo img{transition:none}}
/* ===== Appareil photo dans la page (préfixe cam-) ===== */
dialog.cam-dialog{width:min(900px,96vw);height:min(92vh,820px);max-height:92vh;overflow:hidden;padding:0;background:#16211c;color:#eef3e6;border-color:#16211c}
dialog.cam-dialog[open]{display:flex;flex-direction:column}
.cam-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px}.cam-head h2{margin:0;font-size:15px;font-weight:600}.cam-head .icon-button{color:inherit}
.cam-stage{position:relative;flex:1;min-height:0;background:#000;display:flex;align-items:center;justify-content:center}.cam-stage video{width:100%;height:100%;object-fit:contain;display:block}
.cam-wait{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;font-size:12px;color:#cfd8c4}.cam-wait[hidden]{display:none}
.cam-stage.flash::after{content:'';position:absolute;inset:0;background:#fff;animation:cam-flash .25s ease-out forwards;pointer-events:none}@keyframes cam-flash{from{opacity:.75}to{opacity:0}}
.cam-shots{display:flex;gap:10px;padding:10px 18px 0;overflow-x:auto}.cam-shots:empty{display:none}
.cam-shot{position:relative;flex-shrink:0;height:58px}.cam-shot img{display:block;height:100%;border-radius:5px;border:1px solid #ffffff40}.cam-shot button{position:absolute;right:-7px;top:-7px;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:var(--danger);color:#fff;font-size:10px;line-height:1}
.cam-foot{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:14px 18px}.cam-foot [data-cam=switch]{justify-self:start;grid-column:1}.cam-foot [data-cam=done]{justify-self:end;grid-column:3;background:var(--lime);border-color:var(--lime);color:#1f342c}.cam-foot [data-cam=done]:disabled{opacity:.4}
.cam-shutter{grid-column:2;width:66px;height:66px;padding:0;border-radius:50%;border:4px solid #fff;background:transparent;position:relative}.cam-shutter::after{content:'';position:absolute;inset:4px;border-radius:50%;background:#fff;transition:transform .12s}.cam-shutter:active::after{transform:scale(.86)}.cam-shutter:disabled{opacity:.35}.cam-shutter:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
@media(max-width:700px){dialog.cam-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}}
@media(prefers-reduced-motion:reduce){.cam-stage.flash::after{animation:none;opacity:0}}
/* Carnet de visites, contour des parcelles */
.visits{display:flex;flex-direction:column}.visit{display:flex;gap:16px;padding:16px 0;border-top:1px solid var(--line)}.visit:first-child{border-top:0;padding-top:2px}.visit:last-child{padding-bottom:2px}
.visit-date{flex-shrink:0;width:58px;text-align:center;padding:9px 4px;border-radius:9px;background:#eef3e3;color:var(--green);align-self:flex-start}.visit-date strong{display:block;font-size:20px;line-height:1.1}.visit-date small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.6px;margin-top:3px}
.visit-body{flex:1;min-width:0;font-size:12px}.visit-body>strong{display:block;font-weight:600}.visit-body p{margin:6px 0 0;line-height:1.6;color:#4d5a48;white-space:pre-line;overflow-wrap:anywhere}
.visit-photos{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:10px}
.visit-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;margin-top:10px}.visit-foot small{color:var(--muted);font-size:10px}.visit-foot span{display:inline-flex;gap:12px}.text-link.danger{color:var(--danger)}.visit-foot svg{width:13px;height:13px}
.boundary-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.boundary-tools .btn[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}
.field-map.drawing{cursor:crosshair}.field-map.drawing .leaflet-grab{cursor:crosshair}
.vertex-marker{display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;border:2px solid var(--green);color:var(--green);font-size:10px;font-weight:700;box-shadow:0 1px 4px #0006;cursor:move}
.btn.full+.btn.full{margin-top:8px}.panel-content p svg{width:14px;height:14px;vertical-align:-2px}
@media(max-width:700px){.visit{gap:12px}.visit-date{width:50px}}
.leaflet-overlay-pane svg{width:auto;height:auto;flex-shrink:initial}.leaflet-overlay-pane svg path{stroke-linejoin:round}
.measure{display:flex;flex-direction:column;gap:4px;margin:10px 0 12px;padding:11px 13px;border-radius:8px;background:#f1f5e8;border:1px solid #dfe8cf;font-size:11px;line-height:1.5;color:#4d5a48}.measure:empty{display:none}.measure small{font-size:9px;letter-spacing:1px;color:#7c8a6d}.measure strong{font-size:15px;color:var(--green);font-variant-numeric:tabular-nums}.measure .warn{color:var(--danger);font-weight:600}.measure .hint{color:var(--muted);font-size:10px}
/* Plan de la parcelle (2D / 3D) */
dialog:has(.plot){width:min(980px,96vw)}.plot-bar [hidden]{display:none}
.measure .btn{align-self:flex-start;margin-top:6px}
.plot-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px}.plot-help{flex:1;min-width:180px;font-size:11px;color:var(--muted)}
.plot-tabs{display:inline-flex;padding:3px;border-radius:9px;background:#eef1e8}.plot-tabs button{border:0;background:transparent;padding:8px 16px;border-radius:7px;font-size:12px;font-weight:600;color:#5b6657}.plot-tabs button[aria-selected=true]{background:#fff;color:var(--green);box-shadow:0 1px 4px #1f342c22}
.plot-stage{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fbfcf8;outline-offset:2px}.plot-stage.turning{cursor:grab;touch-action:none}.plot-stage.turning:active{cursor:grabbing}.plot-stage:focus-visible{outline:2px solid var(--green)}
.plot-stage svg{display:block;width:100%;height:auto;stroke:none;stroke-width:1;fill:none;user-select:none;-webkit-user-select:none}
.plot-facts{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:14px;font-size:11px}.plot-facts small{display:block;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.plot-facts strong{font-size:14px;color:var(--green);font-variant-numeric:tabular-nums}.plot-facts p{flex-basis:100%;margin:0;color:#4d5a48}
button.map-property{width:100%;text-align:left;font:inherit;background:none;border-left:0;border-right:0;border-top:0;cursor:pointer;color:inherit}button.map-property:hover{background:#f4f7ee}button.map-property.active{background:#eaf2d9;box-shadow:inset 3px 0 0 var(--green)}button.map-property:focus-visible{outline:2px solid var(--green);outline-offset:-2px}

/* Pièces attendues et import contrôlé */
.dossier-list{list-style:none;padding:0;margin:0}.dossier-list>li{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.dossier-list small{display:block;font-size:10px;color:var(--muted);margin:5px 0}.dossier-list strong{font-size:12px}.dossier-list .badge{white-space:nowrap}.requirement-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:15px}.batch-row{border:1px solid var(--line);border-radius:10px;padding:18px;margin-top:15px}.batch-title{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.batch-title span,.batch-row>small{font-size:11px;color:var(--muted)}.batch-row .notice{margin:12px 0}.batch-row .notice label{margin-top:8px}#batch-status{line-height:1.6;font-size:12px}.doc-list-item{flex-wrap:wrap}.doc-list-item .doc-info{min-width:160px}
@media(max-width:700px){.requirement-row{grid-template-columns:1fr}.batch-title{flex-direction:column}}

.pv-search{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#f5f7ef;flex-wrap:wrap}.pv-find-input{max-width:320px;padding:7px 10px;font-size:12px}.pv-message{font-size:11px;color:var(--ink)}.pv-visual,.pv-original{position:relative;width:100%;height:100%;min-width:0}.pv-visual canvas,.pv-original canvas{object-fit:contain}.pv-comparison{display:grid;grid-template-columns:1fr 1fr;width:100%;height:100%;gap:2px;background:#b8c3ad}.pv-original:after,.pv-comparison .pv-visual:after{position:absolute;top:5px;left:5px;background:#263f35;color:white;border-radius:4px;padding:4px 8px;font-size:10px;content:'Original'}.pv-comparison .pv-visual:after{content:'Amélioré'}.pv-highlight{position:absolute;background:#ffe90066;outline:1px solid #be9400;pointer-events:none}.pv-comparison .pv-highlight{display:none}
/* ===================== Version 2 ===================== */
/* Fiche du bien en onglets */
.tabs{display:flex;gap:4px;margin:0 0 20px;padding:4px;border:1px solid var(--line);border-radius:10px;background:#fbfcf9;overflow-x:auto;scrollbar-width:thin}
.tabs a{display:inline-flex;align-items:center;gap:7px;padding:10px 15px;border-radius:7px;font-size:12px;font-weight:600;color:#6b7866;white-space:nowrap}
.tabs a:hover{background:#eef2e6;color:var(--ink)}.tabs a.active{background:var(--green);color:#fff}
.tab-count{min-width:18px;padding:1px 6px;border-radius:9px;background:#e6ebdd;color:#5b6657;font-size:10px;text-align:center}.tabs a.active .tab-count{background:#ffffff26;color:#fff}
.summary-list{list-style:none;margin:0;padding:0}.summary-list li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.summary-list li:last-child{border:0}.summary-list span{color:var(--muted)}.summary-list strong{font-weight:600;text-align:right}.summary-list .text-link{font-size:10px;justify-self:end}
.map-wrap.tall{height:min(62vh,520px)}
.map-tools{display:grid;grid-template-columns:1fr minmax(220px,300px);gap:18px;align-items:start}.map-actions{display:flex;flex-direction:column}.map-actions .btn.full:first-child{margin-top:0}
/* Lots */
.lot{padding:16px 0;border-top:1px solid var(--line)}.lot:first-child{border-top:0;padding-top:4px}
.lot-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.lot-head strong{display:block;font-size:13px}.lot-head small{display:block;margin-top:3px;font-size:11px;color:var(--muted)}
.lot>p{margin:8px 0 0;font-size:12px;line-height:1.6;color:#4d5a48;white-space:pre-line}.lot-docs{margin-top:6px;padding-left:12px;border-left:2px solid #e6ebdd}
/* À traiter */
.todo-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px;margin-bottom:24px}
.todo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.todo-item{padding:13px 14px;border-radius:9px;border:1px solid var(--line);border-left:3px solid #c3cbb9;background:#fcfdfa}.todo-item.red{border-left-color:var(--danger)}.todo-item.amber{border-left-color:var(--amber)}
.todo-head{display:flex;gap:9px;align-items:flex-start}.todo-head svg{width:16px;height:16px;margin-top:1px;color:#7f8c77}.todo-item.red .todo-head svg{color:var(--danger)}.todo-item.amber .todo-head svg{color:var(--amber)}.todo-head strong{font-size:12px;line-height:1.4}
.todo-item ul{list-style:none;margin:8px 0 0;padding:0 0 0 25px}.todo-item li{font-size:11px;line-height:1.5;padding:2px 0}.todo-item li a{color:#4d6a3f;text-decoration:underline;text-decoration-color:#c9d4b8;text-underline-offset:2px}.todo-item li a:hover{color:var(--green)}.todo-item>small{display:block;padding-left:25px;margin-top:3px;font-size:10px;color:var(--muted)}
.recent-visits{list-style:none;margin:0;padding:0}.recent-visits li a{display:block;padding:10px 0;border-bottom:1px solid var(--line)}.recent-visits li:last-child a{border:0}.recent-visits strong{display:block;font-size:12px}.recent-visits small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.recent-visits span{display:block;margin-top:4px;font-size:11px;color:#5b6657;line-height:1.5}
/* Sur le terrain */
.field-card{margin-bottom:20px}.field-card-head{display:flex;gap:16px;align-items:center;padding:18px 20px}.field-card-head img{width:96px;height:72px;object-fit:cover;border-radius:8px;flex-shrink:0}.field-card-head h2{margin:4px 0;font-size:19px}.field-card-head p{margin:0;font-size:12px;color:var(--muted)}
.field-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding:0 20px 20px}
.field-action{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:14px;min-height:92px;padding:14px;border-radius:10px;border:1px solid var(--line);background:#fbfcf8;font:inherit;font-size:13px;font-weight:600;color:var(--ink);text-align:left;cursor:pointer}
.field-action svg{width:24px;height:24px;color:var(--green)}.field-action:hover{background:#f1f5e8}.field-action.primary{background:var(--green);border-color:var(--green);color:#fff}.field-action.primary svg{color:var(--lime)}
.field-item{display:flex;align-items:center;gap:13px;padding:11px 0;border-bottom:1px solid var(--line)}.field-item:last-child{border:0}.field-item img,.field-icon{width:52px;height:40px;border-radius:7px;object-fit:cover;flex-shrink:0;background:#eef1e8;display:grid;place-items:center;color:#82956e}
.field-item>span:not(.field-icon){flex:1;min-width:0}.field-item strong{display:block;font-size:13px}.field-item small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.field-item>svg{width:16px;color:#9aa58f}.field-item.active strong{color:var(--green)}.field-item.active{box-shadow:inset 3px 0 0 var(--green);padding-left:10px}
#field-status.poor,.walk-status.poor{color:var(--amber)}
/* Contour en marchant */
.walk-map{height:min(42vh,340px);margin:0 0 12px}
.walk-status{font-size:12px;color:#4d5a48;margin-bottom:10px}
.btn.walk-add{width:100%;justify-content:center;padding:16px;font-size:14px}
.walk-tools{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
/* Espace personnel, affichage, sécurité */
.profile-links{display:flex;flex-direction:column;gap:8px;padding-bottom:4px}
.profile-link{display:flex;align-items:center;gap:13px;width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:9px;background:#fbfcf8;font:inherit;color:inherit;text-align:left;cursor:pointer}.profile-link:hover{background:#f1f5e8}.profile-link>span{flex:1}.profile-link strong{display:block;font-size:13px}.profile-link small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.profile-link>svg:first-child{color:var(--green)}
.display-group{margin-bottom:18px}.form-label{display:block;font-size:11px;font-weight:600;color:#455240;margin-bottom:8px}
.choice-row{display:flex;flex-wrap:wrap;gap:8px}.choice{padding:10px 16px;border:1px solid #dce1d5;border-radius:8px;background:#fff;font:inherit;font-size:12px;font-weight:600;color:#455240;cursor:pointer}.choice.active{background:var(--green);border-color:var(--green);color:#fff}
.notice.ok{background:#eef5e6;border-color:#d7e6c5;color:#56733f}
.steps{margin:0 0 16px;padding-left:20px;font-size:13px;line-height:1.6}.steps li{margin-bottom:10px}.steps small{display:block;font-size:11px;color:var(--muted)}.steps code,.recovery code{font-family:Consolas,monospace;font-size:13px;letter-spacing:.5px}
.qr{width:190px;margin:10px 0 6px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:8px}.qr svg{display:block;width:100%;height:auto;fill:initial;stroke:none}
.recovery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none;margin:0 0 16px;padding:14px;border-radius:9px;background:#f6f7f3;border:1px dashed #cfd7c2}
.scope-box{border:1px solid var(--line);border-radius:9px;padding:12px 14px;margin:0}.scope-box legend{padding:0 6px;font-size:11px;font-weight:600;color:#455240}.scope-box>label{display:inline-flex;margin-right:18px}
.scope-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 14px;max-height:220px;overflow:auto;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.scope-list[hidden]{display:none}.scope-list label{font-size:11px}.scope-list small{color:var(--muted)}
/* Navigation du bas (téléphone) */
.bottom-nav{display:none}
@media(max-width:700px){
  .bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fbfcf9;border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px #12291f14}
  .bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:8px;font-size:10px;font-weight:600;color:#7c867d}
  .bottom-nav a svg{width:21px;height:21px}.bottom-nav a.active{color:var(--green)}.bottom-nav a.active svg{stroke-width:2.2}
  .bottom-nav a.field{color:var(--green)}.bottom-nav a.field svg{width:44px;height:44px;padding:11px;margin-top:-22px;border-radius:50%;background:var(--green);color:var(--lime);box-shadow:0 6px 18px #263f3555;border:3px solid #fbfcf9}
  main#main{padding-bottom:96px}.toast{bottom:88px;left:50%}
  .tabs{margin-left:-17px;margin-right:-17px;border-radius:0;border-left:0;border-right:0}
  .todo-layout{grid-template-columns:1fr}.map-tools{grid-template-columns:1fr}
  .field-actions{grid-template-columns:1fr 1fr;padding:0 14px 16px}.field-card-head{padding:14px}
  .btn,.text-link,.choice{min-height:40px}
  dialog:not(:has(.pv)):not(.sc-dialog):not(.cam-dialog){width:100vw;max-width:100vw;max-height:100dvh;margin:auto 0 0;border-radius:16px 16px 0 0;border:0}
}
/* Taille du texte */
html[data-text=large]{zoom:1.1}html[data-text=xlarge]{zoom:1.22}
/* Dossier du bien (impression / PDF) */
.dossier-print{display:none}
@media print{
  body:has(>.dossier-print)>*:not(.dossier-print){display:none!important}
  body:has(>.dossier-print){background:#fff;margin:0;zoom:1}
  .dossier-print{display:block;color:#1d2b24;font:10.5pt/1.45 'Segoe UI',Arial,sans-serif}
  .dp-head{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:8px;margin-bottom:14px;border-bottom:2px solid #263f35;font-size:9pt;color:#5b6657}.dp-head strong{font-size:16pt;color:#263f35;margin-right:10px}.dp-head div:last-child{text-align:right}
  .dp-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:12px}.dp-title h1{margin:2px 0 6px;font-size:20pt;color:#1d2b24}.dp-eyebrow{font-size:8.5pt;letter-spacing:1px;text-transform:uppercase;color:#6a7a63}
  .dp-badge{display:inline-block;padding:2px 8px;border:1px solid #c9b78a;border-radius:4px;font-size:8.5pt;color:#8a6a2a}.dp-badge.ok{border-color:#9db884;color:#4f6e3c}
  .dp-cover{width:62mm;height:44mm;object-fit:cover;border-radius:3mm;flex-shrink:0}
  .dossier-print section{margin-top:12px;break-inside:avoid-page}.dossier-print h2{font-size:11.5pt;margin:0 0 6px;padding-bottom:3px;border-bottom:1px solid #d5dccc;color:#263f35}
  .dp-table{width:100%;border-collapse:collapse}.dp-table th,.dp-table td{padding:4px 6px;border-bottom:1px solid #e6e9e1;text-align:left;vertical-align:top;font-size:9.5pt;background:none;color:#1d2b24}.dp-table th{width:34%;font-weight:600;color:#55634f}
  .dp-list thead th{width:auto;background:#f2f5ec;font-size:8.5pt;text-transform:uppercase;letter-spacing:.5px}
  .dp-plan svg{display:block;width:100%;height:auto;max-height:105mm;stroke:none;fill:none;border:1px solid #e0e5d8;border-radius:2mm}
  .dp-note{font-size:8.5pt;color:#6a7a63;margin:4px 0 0}.dp-check{display:flex;gap:18px;font-size:10pt;margin:0 0 6px}
  .dp-visit{padding:5px 0;border-bottom:1px solid #eef1ea;font-size:9.5pt}.dp-visit p{margin:2px 0 0;white-space:pre-line}
  .dp-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:4mm}.dp-photos figure{margin:0}.dp-photos img{width:100%;height:38mm;object-fit:cover;border-radius:2mm}.dp-photos figcaption{font-size:8pt;color:#5b6657;margin-top:1mm}
  .dp-foot{margin-top:16px;padding-top:6px;border-top:1px solid #d5dccc;font-size:8pt;color:#6a7a63}
}
/* La navigation latérale stylise « nav a » : on neutralise ces règles pour les onglets et la barre du bas. */
.tabs a:hover:not(.active){background:#eef2e6;color:var(--ink)}
.bottom-nav a,.bottom-nav a:hover:not(.active),.bottom-nav a.active{background:none;margin:0}
/* ===== MODE SOMBRE (généré à partir des couleurs du thème clair, puis ajusté) ===== */
:root[data-theme=dark]{--ink:#e3eae1;--muted:#97a39a;--paper:#111915;--line:#2a3630;--white:#18211c;--green:#2f5443;color-scheme:dark}
:root[data-theme=dark] .nav-label{color:#a6aca3}
:root[data-theme=dark] .avatar{background:#393d31;color:#c9d1c9}
:root[data-theme=dark] .topbar{background:#21241d}
:root[data-theme=dark] .breadcrumb strong{color:#c0c6c1}
:root[data-theme=dark] kbd{background:#18201a}
:root[data-theme=dark] .avatar.small{background:#353730}
:root[data-theme=dark] .page-head .eyebrow{color:#a6aca3}
:root[data-theme=dark] .btn{border:1px solid #444740;background:#18201a;color:#c6cbc4}
:root[data-theme=dark] .btn:hover{background:#30332a}
:root[data-theme=dark] .welcome-banner{background:#33372c;border:1px solid #44493d}
:root[data-theme=dark] .welcome-banner p{color:#b0b5ab}
:root[data-theme=dark] .welcome-banner svg{color:#bcc5b1}
:root[data-theme=dark] .text-link{color:#bfc8b9}
:root[data-theme=dark] .text-link:hover{color:#b4bca4}
:root[data-theme=dark] .stat-card{background:#18201a}
:root[data-theme=dark] .stat-label{color:#adb0ab}
:root[data-theme=dark] .stat-value small{color:#a9ada6}
:root[data-theme=dark] .stat-foot span{color:#bbc6ad}
:root[data-theme=dark] .panel{background:#18201a}
:root[data-theme=dark] .map-wrap{background:#2f312a}
:root[data-theme=dark] .map-overlay{background:#2a2716ed;border:1px solid #43463d}
:root[data-theme=dark] .ring{background:conic-gradient(#b7d878 calc(var(--pct)*1%),#2e2f29 0)}
:root[data-theme=dark] .ring:before{background:#18201a}
:root[data-theme=dark] .ring span small{color:#a7aba4}
:root[data-theme=dark] .health-score p{color:#a9ada5}
:root[data-theme=dark] th{background:#23251e;color:#a7aba4}
:root[data-theme=dark] td{border-bottom:1px solid #3c3e37;color:#bcc1ba}
:root[data-theme=dark] tbody tr:hover{background:#23251c}
:root[data-theme=dark] .property-cell strong{color:#ccd3c9}
:root[data-theme=dark] .property-icon{border:1px solid #44433b;background:#2d2f26;color:#adb3a5}
:root[data-theme=dark] .badge{background:#353026;color:#c5b9a2}
:root[data-theme=dark] .badge.green{background:#2d3227;color:#b4bfac}
:root[data-theme=dark] .badge.blue{background:#252a2f;color:#a3afb6}
:root[data-theme=dark] .badge.red{background:#312421;color:#b89c98}
:root[data-theme=dark] .badge.gray{background:#2b2c29;color:#a9aca5}
:root[data-theme=dark] .doc-progress{background:#30322b}
:root[data-theme=dark] .search-field{background:#18201a}
:root[data-theme=dark] .search-field svg{color:#a7ada3}
:root[data-theme=dark] .filters select{background:#18201a;color:#b3b8af}
:root[data-theme=dark] .segmented{background:#32352e}
:root[data-theme=dark] .segmented button{color:#a8aea3}
:root[data-theme=dark] .segmented button.active{background:#18201a;color:#c4cfbe}
:root[data-theme=dark] .property-card{background:#18201a}
:root[data-theme=dark] .card-art{background:#35392e}
:root[data-theme=dark] .card-art:before,:root[data-theme=dark] .card-art:after{border:1px solid #52584c;background:#454b3c}
:root[data-theme=dark] .card-art:after{background:#2d3027}
:root[data-theme=dark] .card-art.tone-1{background:#3a3832}
:root[data-theme=dark] .card-art.tone-2{background:#313736}
:root[data-theme=dark] .card-art .ref{color:#b7bdb2}
:root[data-theme=dark] .card-art .badge{background:#18201adb}
:root[data-theme=dark] .card-art svg{color:#aeb5a8}
:root[data-theme=dark] .card-bottom{color:#a9afa2}
:root[data-theme=dark] .empty h3{color:#bdc6ba}
:root[data-theme=dark] .notice{background:#302c20;border:1px solid #4e4838;color:#bdb4a2}
:root[data-theme=dark] .checklist li{color:#aab0a5}
:root[data-theme=dark] .file-icon{background:#342f27;border:1px solid #4f4839;color:#b5ad9b}
:root[data-theme=dark] .audit-row .audit-dot{border:3px solid #3d4234}
:root[data-theme=dark] .audit-row p{color:#aab0a5}
:root[data-theme=dark] .bar{background:#292c31}
:root[data-theme=dark] .loading{color:#aab0a5}
:root[data-theme=dark] dialog{border:1px solid #41453c}
:root[data-theme=dark] .modal-head{background:#18201a}
:root[data-theme=dark] .modal-head p{color:#a7ada2}
:root[data-theme=dark] .modal-foot{background:#23251e}
:root[data-theme=dark] label{color:#bcc1b8}
:root[data-theme=dark] input,:root[data-theme=dark] textarea,:root[data-theme=dark] select{border:1px solid #44483e;background:#18201a;color:#c6cec3}
:root[data-theme=dark] .form-divider{color:#a7aea1}
:root[data-theme=dark] .form-error{color:#c2a5a1}
:root[data-theme=dark] .upload-zone{background:#272b20;color:#adb5a5}
:root[data-theme=dark] .upload-zone strong{color:#b9c2b3}
:root[data-theme=dark] .upload-zone input{background:#18201a}
:root[data-theme=dark] .upload-zone.dragover{background:#363c2b}
:root[data-theme=dark] .file-selection{color:#aeb5a7}
:root[data-theme=dark] .pill{color:#adb5a1;background:#33372c}
:root[data-theme=dark] .demo-link{color:#b8c1ad}
:root[data-theme=dark] .back-link{color:#a9b0a3}
:root[data-theme=dark] .pdf-paper{background:#353730}
:root[data-theme=dark] .pdf-paper canvas{background:#18201a}
:root[data-theme=dark] .pv{background:#3b3d37}
:root[data-theme=dark] .pv-action[data-pv=print]:hover{background:#4d5634}
:root[data-theme=dark] .pv-thumb.active{background:#18201a}
:root[data-theme=dark] .pv-thumb-label{color:#c6cbc4}
:root[data-theme=dark] .pv-meter{background:#343631}
:root[data-theme=dark] .doc-snippet{background:#272a20;color:#bcc0ba}
:root[data-theme=dark] .sc-hint{color:#a7ada2}
:root[data-theme=dark] .sc-body{background:#262723}
:root[data-theme=dark] .sc-tip{color:#abaeab}
:root[data-theme=dark] .sc-foot{background:#23251e}
:root[data-theme=dark] .sc-check{color:#c6cbc4}
:root[data-theme=dark] .photo-thumb{background:#2e3029}
:root[data-theme=dark] .card-art.has-photo .ref{background:#18201adb;color:#cad1c6}
:root[data-theme=dark] .property-icon.has-photo{background:#2e3029}
:root[data-theme=dark] .visit-date{background:#303428;color:#b9d77a}
:root[data-theme=dark] .visit-body p{color:#c2c7c0}
:root[data-theme=dark] .measure{background:#2d3025;border:1px solid #454b3b;color:#c2c7c0}
:root[data-theme=dark] .measure small{color:#afb4aa}
:root[data-theme=dark] .measure strong{color:#b9d77a}
:root[data-theme=dark] .plot-tabs{background:#2e3029}
:root[data-theme=dark] .plot-tabs button{color:#bcc0ba}
:root[data-theme=dark] .plot-tabs button[aria-selected=true]{background:#18201a;color:#b9d77a}
:root[data-theme=dark] .plot-stage{background:#23251c}
:root[data-theme=dark] .plot-facts strong{color:#b9d77a}
:root[data-theme=dark] .plot-facts p{color:#c2c7c0}
:root[data-theme=dark] button.map-property:hover{background:#292c23}
:root[data-theme=dark] button.map-property.active{background:#363b2b}
:root[data-theme=dark] .pv-search{background:#292b23}
:root[data-theme=dark] .tabs{background:#21241d}
:root[data-theme=dark] .tabs a{color:#b4b9b2}
:root[data-theme=dark] .tabs a:hover{background:#2f3229}
:root[data-theme=dark] .tab-count{background:#363930;color:#bcc0ba}
:root[data-theme=dark] .lot>p{color:#c2c7c0}
:root[data-theme=dark] .lot-docs{border-left:2px solid #41443a}
:root[data-theme=dark] .todo-item{border-left:3px solid #4f524b;background:#21231b}
:root[data-theme=dark] .todo-head svg{color:#acb0a9}
:root[data-theme=dark] .todo-item li a{color:#bfcbba}
:root[data-theme=dark] .todo-item li a:hover{color:#b9d77a}
:root[data-theme=dark] .recent-visits span{color:#bcc0ba}
:root[data-theme=dark] .field-action{background:#23251c}
:root[data-theme=dark] .field-action svg{color:#b9d77a}
:root[data-theme=dark] .field-action:hover{background:#2d3025}
:root[data-theme=dark] .field-item img,:root[data-theme=dark] .field-icon{background:#2e3029;color:#adb3a5}
:root[data-theme=dark] .field-item.active strong{color:#b9d77a}
:root[data-theme=dark] .walk-status{color:#c2c7c0}
:root[data-theme=dark] .profile-link{background:#23251c}
:root[data-theme=dark] .profile-link:hover{background:#2d3025}
:root[data-theme=dark] .profile-link>svg:first-child{color:#b9d77a}
:root[data-theme=dark] .form-label{color:#c6cbc4}
:root[data-theme=dark] .choice{border:1px solid #444740;background:#18201a;color:#c6cbc4}
:root[data-theme=dark] .notice.ok{background:#2c3226;border-color:#464f3d;color:#bfcab6}
:root[data-theme=dark] .recovery{background:#262723;border:1px dashed #4b4f45}
:root[data-theme=dark] .scope-box legend{color:#c6cbc4}
@media(max-width:700px){:root[data-theme=dark] .bottom-nav{background:#21241d}:root[data-theme=dark] .bottom-nav a{color:#abaeab}:root[data-theme=dark] .bottom-nav a.active{color:#b9d77a}:root[data-theme=dark] .bottom-nav a.field{color:#b9d77a}:root[data-theme=dark] .bottom-nav a.field svg{border:3px solid #373b2f}}
:root[data-theme=dark] .tabs a:hover:not(.active){background:#2f3229}
/* Ajustements manuels du mode sombre */
:root[data-theme=dark] body{background:var(--paper);color:var(--ink)}
:root[data-theme=dark] .leaflet-tile-pane{filter:brightness(.72) contrast(1.08) saturate(.8)}
:root[data-theme=dark] .leaflet-container{background:#1b2420}
:root[data-theme=dark] .leaflet-popup-content-wrapper,:root[data-theme=dark] .leaflet-popup-tip{background:#1d2822;color:var(--ink)}
:root[data-theme=dark] .leaflet-bar a{background:#1d2822;color:var(--ink);border-color:#33413a}
:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:#1a231e;color:var(--ink);border-color:#33413a}
:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#76837b}
:root[data-theme=dark] dialog{background:#18211c;color:var(--ink);border-color:#2a3630}
:root[data-theme=dark] dialog::backdrop{background:#000a0699}
:root[data-theme=dark] .detail-hero,:root[data-theme=dark] .stat-card.dark{background:#1e3329;border-color:#2a4537}
:root[data-theme=dark] .btn.primary{background:#3b6650;border-color:#3b6650;color:#fff}
:root[data-theme=dark] .btn.primary:hover{background:#467a5f}
:root[data-theme=dark] .tabs a.active,:root[data-theme=dark] .choice.active,:root[data-theme=dark] .boundary-tools .btn[aria-pressed=true]{background:#3b6650;border-color:#3b6650;color:#fff}
:root[data-theme=dark] .field-action.primary{background:#3b6650;border-color:#3b6650;color:#fff}
:root[data-theme=dark] .badge{background:#243029;color:#b9c6b5}
:root[data-theme=dark] .badge.green{background:#1f3324;color:#a8cf8c}
:root[data-theme=dark] .badge.blue{background:#1c2a33;color:#9fbfd4}
:root[data-theme=dark] .badge.red{background:#3a2220;color:#e5a199}
:root[data-theme=dark] .badge.gray{background:#252d28;color:#a3ae9f}
:root[data-theme=dark] .notice{background:#2c2618;border-color:#4a3f22;color:#dcc48b}
:root[data-theme=dark] .notice.ok{background:#1d2e20;border-color:#2f4a32;color:#a8cf8c}
:root[data-theme=dark] .measure{background:#1a2a1f;border-color:#2c4232;color:#c3cfc0}
:root[data-theme=dark] .measure strong,:root[data-theme=dark] .plot-facts strong{color:#c7e59a}
:root[data-theme=dark] .todo-item{background:#1a231e}
:root[data-theme=dark] .todo-item li a{color:#b9d77a;text-decoration-color:#4b5f3f}
:root[data-theme=dark] .bottom-nav{background:#141c18;border-color:#2a3630}
:root[data-theme=dark] .bottom-nav a.field svg{border-color:#141c18;background:#3b6650}
:root[data-theme=dark] .toast{background:#e3eae1;color:#18211c}
:root[data-theme=dark] .ring{background:conic-gradient(#8fb35a calc(var(--pct)*1%),#26302a 0)}
:root[data-theme=dark] .ring:before{background:#18211c}
:root[data-theme=dark] .card-art:not(.has-photo){filter:brightness(.42) saturate(.7)}
:root[data-theme=dark] .file-icon{background:#2a2619;border-color:#41391f;color:#d2bb85}
:root[data-theme=dark] .empty h3{color:#c5d3bc}
:root[data-theme=dark] .text-link.danger,:root[data-theme=dark] .btn.danger{color:#e5a199}
:root[data-theme=dark] .photo-remove{background:#1d2822e6;color:#e5a199}
:root[data-theme=dark] .qr{background:#fff}
:root[data-theme=dark] .plot-stage svg{filter:none}
:root[data-theme=dark] img{opacity:.96}
:root[data-theme=dark] .topbar{background:#141c18}
:root[data-theme=dark] .search-field input{background:none;border:0}
.pw-wrap{position:relative;display:block;width:100%}.pw-wrap input{padding-right:44px!important}.pw-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:6px;background:none;color:var(--muted);padding:0}.pw-toggle:hover{color:var(--ink);background:#0000000a}.pw-toggle svg{width:18px;height:18px}
.todo-layout.single{grid-template-columns:1fr}
.up-bar{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:#f8faf4}.up-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;min-width:0}.up-name{font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.up-pct{font-size:13px;font-weight:600;color:var(--green);font-variant-numeric:tabular-nums}.up-track{height:8px;border-radius:5px;background:#e3e8da;overflow:hidden;margin:8px 0 7px}.up-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#6f9a4a,#a8cf6f);border-radius:5px;transition:width .2s}.up-bar.saving .up-track i{background:repeating-linear-gradient(45deg,#6f9a4a 0 10px,#8fb860 10px 20px);background-size:28px 28px;animation:up-stripes .8s linear infinite}@keyframes up-stripes{to{background-position:28px 0}}.up-meta small{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.batch-bar{flex:1;min-width:0;margin-right:auto}.batch-bar .up-bar{margin:0;padding:8px 12px}
:root[data-theme=dark] .up-bar{background:#ffffff08}:root[data-theme=dark] .up-track{background:#ffffff18}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .up-bar{background:#ffffff08}:root:not([data-theme=light]) .up-track{background:#ffffff18}}
#modal.report-modal{width:min(560px,94vw)}.import-report{padding-top:18px}.ir-title{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.ir-title.ko{color:var(--danger);margin-top:18px}.ir-list{list-style:none;margin:0;padding:0;max-height:52vh;overflow:auto}.ir-item{display:flex;gap:11px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}.ir-item:last-child{border-bottom:0}.ir-item svg{width:18px;height:18px;margin-top:1px}.ir-item.ok svg{color:#5f8d3c}.ir-item.ko svg{color:var(--danger)}.ir-item div{min-width:0}.ir-item strong{display:block;font-size:12px;overflow-wrap:anywhere}.ir-item small{display:block;font-size:10px;color:var(--muted);margin-top:3px;line-height:1.5;overflow-wrap:anywhere}
@media (max-width:640px){#modal .modal-foot:has(.batch-bar){flex-wrap:wrap}.batch-bar{flex-basis:100%;margin-right:0}}
.dup-ask{margin-top:14px;padding:14px 16px;border:1px solid #e6cfa0;border-radius:10px;background:#fbf6ea;color:var(--ink);font-size:12px}.dup-head{display:flex;align-items:center;gap:9px;min-width:0}.dup-head svg{color:var(--amber);width:18px;height:18px}.dup-head strong{overflow-wrap:anywhere}.dup-ask ul{margin:9px 0 6px;padding-left:18px;line-height:1.6;color:#5c5a4a}.dup-ask ul b{font-weight:600}.dup-ask p{margin:8px 0}.dup-actions{display:flex;flex-wrap:wrap;gap:8px}.dup-code{display:flex;flex-direction:column;gap:9px;margin-top:4px}.dup-code small{color:var(--muted);font-size:10px;line-height:1.5}.dup-ask>.check{margin-top:11px;font-size:11px}
:root[data-theme=dark] .dup-ask{background:#3a321f;border-color:#6b5a33}:root[data-theme=dark] .dup-ask ul{color:inherit}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .dup-ask{background:#3a321f;border-color:#6b5a33}:root:not([data-theme=light]) .dup-ask ul{color:inherit}}
.dup-code[hidden],.dup-actions[hidden]{display:none}
.work-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.work-desc{margin:0;font-size:12px;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere;flex:1;min-width:0}.work-amount{font-size:13px;color:var(--green);white-space:nowrap;font-variant-numeric:tabular-nums}.work-who{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:9px;font-size:11px;color:#5e6c54}.work-who svg{width:15px;height:15px}
.contact-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:#f6f8f1;font-size:11px;color:var(--ink);max-width:100%;overflow-wrap:anywhere}.contact-chip svg{width:13px;height:13px;color:#6f8a55}a.contact-chip:hover{background:#eaf1dd}
.referents{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.referent{display:flex;gap:13px;padding:15px;border:1px solid var(--line);border-radius:10px;min-width:0}.referent .avatar{width:42px;height:42px;font-size:13px}.referent-body{flex:1;min-width:0}.referent-body>strong{display:block;font-size:13px;margin-bottom:9px;overflow-wrap:anywhere}.referent-contacts{display:flex;flex-wrap:wrap;gap:6px}.referent-loc{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:11px;color:#5e6c54;overflow-wrap:anywhere}.referent-loc svg{width:14px;height:14px;flex-shrink:0}.referent-loc .text-link{padding:0;font-weight:500}
.form-label{font-size:11px;color:#5e6c54;font-weight:500;margin-bottom:8px}.contact-row{display:flex;gap:6px;margin-bottom:8px}.contact-row input{flex:1}.contact-remove{color:var(--muted)}
@media (max-width:640px){.work-top{flex-direction:column;gap:6px}}
:root[data-theme=dark] .contact-chip{background:#ffffff0d}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .contact-chip{background:#ffffff0d}}
#modal.wide-modal{width:min(980px,96vw)}.fi-folder{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin:22px 0 0;padding-bottom:6px;border-bottom:1px solid var(--line)}.fi-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;font-size:11px;color:var(--muted)}.batch-row.fi-done{opacity:.6;padding:12px 18px}.batch-row.fi-done .batch-title{margin:0}
.fi-msg{margin:0 auto 0 0;font-size:11px;color:var(--danger);font-weight:600;max-width:420px}.fi-msg:empty{display:none}.batch-row.fi-missing{border-color:var(--danger);box-shadow:0 0 0 2px #b4574f22}
.checks,.backups{list-style:none;margin:0;padding:0}.checks li{display:flex;align-items:flex-start;gap:11px;padding:11px 0;border-bottom:1px solid var(--line)}.checks li:last-child{border:0}.checks li>div{flex:1;min-width:0}.checks strong{display:block;font-size:12px;font-weight:600}.checks small{display:block;font-size:10px;color:var(--muted);margin-top:3px;line-height:1.5}.check-value{font-size:11px;font-weight:600;text-align:right;max-width:45%;overflow-wrap:anywhere}.check-dot{width:9px;height:9px;border-radius:50%;margin-top:4px;flex-shrink:0;background:#a9c177}.check-warn .check-dot{background:#dcb270}.check-ko .check-dot{background:var(--danger)}.check-ko .check-value{color:var(--danger)}
.backups li{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.backups li>div{flex:1;min-width:160px}.backups strong{display:block;font-size:12px;overflow-wrap:anywhere}.backups small{font-size:10px;color:var(--muted)}.backup-folder{font-size:10px;overflow-wrap:anywhere;margin-top:10px}.server-help{margin-top:16px}.server-help ol{margin:8px 0 0;padding-left:18px;line-height:1.7}.server-help code{font-size:10px}#backup-status:not(:empty){margin-bottom:12px}
.auth-form form[hidden]{display:none}.first-use{margin-top:20px;text-align:center}.first-use form{margin-top:16px;text-align:left}.first-use form .muted{margin:0;font-size:11px}#first-use-toggle{font-size:12px;margin:0 auto}
.admin-contact{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid #e6cfa0;background:#fbf6ea;border-radius:9px;font-size:12px}.admin-contact strong{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--amber)}.admin-contact span{font-weight:600;font-size:13px}.admin-contact a{color:var(--green);font-weight:500}.admin-contact a:hover{text-decoration:underline}
.pw-rules{list-style:none;margin:-8px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;font-size:11px;color:var(--muted)}.pw-rules li{display:flex;align-items:center;gap:7px}.pw-rules li:before{content:'';width:14px;height:14px;border-radius:50%;border:1.5px solid #c3cbbb;flex-shrink:0;box-sizing:border-box}.pw-rules li.ok{color:#4f7a35;font-weight:600}.pw-rules li.ok:before{background:#6f9a4a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/10px no-repeat;border-color:#6f9a4a}
.pw-logout{display:block;margin:18px auto 0;font-size:11px;color:var(--muted)}.invite-steps{display:flex;gap:10px}.invite-steps ol{margin:6px 0 4px;padding-left:18px;line-height:1.7}.invite-steps small{color:inherit;opacity:.8}
:root[data-theme=dark] .admin-contact{background:#3a321f;border-color:#6b5a33}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .admin-contact{background:#3a321f;border-color:#6b5a33}}
.net-bar{position:fixed;top:0;left:0;right:0;height:3px;z-index:3000;pointer-events:none;opacity:0;transition:opacity .2s;overflow:hidden}.net-bar.on{opacity:1}.net-bar:before{content:'';position:absolute;top:0;bottom:0;width:40%;left:-40%;background:linear-gradient(90deg,transparent,#a8cf6f,#d4ec95,transparent);animation:net-slide 1.1s ease-in-out infinite}@keyframes net-slide{to{left:100%}}
.net-veil{position:fixed;inset:0;z-index:2900;background:#0d2319cc;backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}.net-veil[hidden]{display:none}
.net-card{background:#172c29;color:#f3f6ee;border:1px solid #2f4a40;border-radius:18px;padding:30px 26px 26px;max-width:340px;width:100%;text-align:center;box-shadow:0 30px 80px #0007}.net-card strong{display:block;font-size:19px;margin-bottom:8px}.net-card p{color:#b5c4b3;font-size:13px;line-height:1.6;margin:0 0 18px}
.net-orb{position:relative;width:96px;height:96px;margin:0 auto 18px}.net-orb i{position:absolute;inset:0;border-radius:50%;border:2px solid #d4ec9566;animation:net-wave 2.2s ease-out infinite}.net-orb i+i{animation-delay:1.1s}.net-orb b{position:absolute;inset:22px;border-radius:50%;background:#1f3a33;border:1px solid #d4ec9555;display:grid;place-items:center;font:italic 30px Georgia,serif;color:#d4ec95;font-weight:400}.net-orb b span{font-style:normal;font-size:22px}@keyframes net-wave{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.3);opacity:0}}
.net-state{display:inline-flex;align-items:center;gap:9px;background:#ffffff0d;border:1px solid #ffffff17;border-radius:999px;padding:8px 14px;font-size:12px;margin-bottom:18px}.net-state em{width:8px;height:8px;border-radius:50%;background:#e0a84f;animation:net-ping 1.4s infinite}.net-veil.back .net-state em{background:#d4ec95;animation:none}@keyframes net-ping{0%{box-shadow:0 0 0 0 #e0a84f88}100%{box-shadow:0 0 0 9px #e0a84f00}}.net-retry{width:100%;justify-content:center}
.loading{display:flex;flex-direction:column;align-items:center;gap:14px}.loading:before{content:'';width:34px;height:34px;border-radius:50%;border:3px solid #d4ec9555;border-top-color:#6f9a4a;animation:net-spin .8s linear infinite}@keyframes net-spin{to{transform:rotate(360deg)}}
dialog.live-loc{width:min(460px,96vw);max-height:94vh;padding:0;border:0;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;background:var(--white,#fff)}dialog.live-loc:not([open]){display:none}
.ll-head{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px 12px}.ll-head h2{margin:0 0 3px;font-size:18px}.ll-head p{margin:0;font-size:11px;color:var(--muted)}
.ll-map{height:300px;background:#e9eee3;position:relative}.ll-map .leaflet-container{height:100%}
.ll-wait{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#5e6c54;font-size:12px}
.ll-radar{position:relative;width:86px;height:86px}.ll-radar i{position:absolute;inset:0;border-radius:50%;border:2px solid #3b82f680;animation:ll-wave 1.8s ease-out infinite}.ll-radar i+i{animation-delay:.9s}.ll-radar b{position:absolute;inset:33px;border-radius:50%;background:#3b82f6;box-shadow:0 0 0 4px #fff}
@keyframes ll-wave{0%{transform:scale(.3);opacity:1}100%{transform:scale(1.2);opacity:0}}
.ll-me i{display:block;width:22px;height:22px;border-radius:50%;background:#3b82f6;border:3px solid #fff;box-shadow:0 1px 6px #0005;position:relative}.ll-me i:after{content:'';position:absolute;inset:-9px;border-radius:50%;border:2px solid #3b82f699;animation:ll-wave 1.8s ease-out infinite}
.ll-body{padding:16px 20px 6px}.ll-acc{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:#f2f5ee;border:1px solid var(--line)}.ll-acc>div{flex:1;min-width:0}
.ll-dot{width:12px;height:12px;border-radius:50%;background:#c6ccbd;flex-shrink:0;animation:ll-pulse 1.4s infinite}.ll-value{display:block;font-size:20px;font-weight:700;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.ll-quality{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.ll-live{font-size:9px;font-weight:700;letter-spacing:1px;color:#3b82f6;background:#3b82f61a;border-radius:999px;padding:4px 8px;white-space:nowrap}
.q-top .ll-dot{background:#3d9a4a}.q-top .ll-value{color:#2f7d3b}.q-good .ll-dot{background:#7fb04d}.q-good .ll-value{color:#4f7a35}.q-mid .ll-dot{background:#dcb270}.q-mid .ll-value{color:#a97a24}.q-low .ll-dot{background:var(--danger)}.q-low .ll-value{color:var(--danger)}
@keyframes ll-pulse{0%{box-shadow:0 0 0 0 #3b82f655}100%{box-shadow:0 0 0 9px #3b82f600}}.ll-bump{animation:ll-bump .35s ease}@keyframes ll-bump{0%{transform:scale(1)}40%{transform:scale(1.07)}100%{transform:scale(1)}}
.ll-meter{height:5px;border-radius:5px;background:#e3e8da;margin:12px 0 8px;overflow:hidden}.ll-meter i{display:block;height:100%;width:6%;border-radius:5px;background:linear-gradient(90deg,#b4574f,#dcb270,#7fb04d,#3d9a4a);background-size:300px 100%;transition:width .6s}
.ll-coords{font-size:11px;color:var(--muted);margin:0 0 6px;font-variant-numeric:tabular-nums}.ll-hint,.ll-note{font-size:11px;color:#5e6c54;margin:6px 0;display:flex;gap:6px;align-items:flex-start;line-height:1.5}.ll-hint svg{width:14px;height:14px;flex-shrink:0;margin-top:1px}.ll-note{color:var(--muted)}
.ll-foot{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px 18px}.ll-foot .btn.primary{flex:1;justify-content:center}
@media (max-width:640px){dialog.live-loc{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0}.ll-map{flex:1;height:auto;min-height:260px}}
:root[data-theme=dark] dialog.live-loc{background:#1b2a25;color:#e8efe4}:root[data-theme=dark] .ll-acc{background:#ffffff0a}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) dialog.live-loc{background:#1b2a25;color:#e8efe4}:root:not([data-theme=light]) .ll-acc{background:#ffffff0a}}
.rt-crow{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:#f2f5ee;border:1px solid var(--line)}.rt-crow>div{flex:1}.rt-crow small{display:block;font-size:10px;color:var(--muted)}.rt-crow strong{font-size:20px;font-weight:700;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.rt-crow .ll-dot{background:#3b82f6}.rt-crow.arrived{background:#e9f4e3;border-color:#bcd9a6}.rt-crow.arrived strong{color:#2f7d3b}
.rt-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.rt-mode{display:flex;gap:10px;align-items:center;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:12px;color:inherit}.rt-mode svg{width:24px;height:24px;color:#6b7c62;flex-shrink:0}.rt-mode small{display:block;font-size:10px;color:var(--muted)}.rt-mode strong{display:block;font-size:17px;font-variant-numeric:tabular-nums}.rt-mode em{display:block;font-style:normal;font-size:10px;color:var(--muted);margin-top:2px}.rt-mode.on{border-color:#2563eb;background:#eff5ff}.rt-mode.on svg{color:#2563eb}.rt-mode[data-mode=foot].on{border-color:#16a34a;background:#effaf2}.rt-mode[data-mode=foot].on svg{color:#16a34a}
.rt-note{font-size:10px;color:var(--muted);margin:10px 0 2px;line-height:1.5}.rt-foot .rt-go{flex:1;justify-content:center}.rt-foot .btn[hidden]{display:none}
.rt-dest i{display:grid;place-items:center;width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#263f35;border:3px solid #d4ec95;box-shadow:0 3px 10px #0004}.rt-dest i svg{transform:rotate(45deg);width:16px;height:16px;color:#d4ec95}
:root[data-theme=dark] .rt-mode{background:#ffffff08}:root[data-theme=dark] .rt-crow{background:#ffffff0a}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .rt-mode{background:#ffffff08}:root:not([data-theme=light]) .rt-crow{background:#ffffff0a}}
