/* Dedicated list model matching the supplied material reference. */
body #content:has(>#partnersPage){padding:0!important;overflow:hidden!important;min-height:0}
body:has(#partnersPage) .page-heading{display:none!important}
body #partnersPage{display:grid!important;grid-template-columns:minmax(0,1fr) 300px;width:100%;height:100%;min-height:420px;max-height:calc(100dvh - 170px);padding:0!important;background:#fff!important;color:#101923;border:1px solid #dfe5ec;border-radius:8px;overflow:hidden;font:14px/1.4 Inter,'Segoe UI',sans-serif}
#partnersPage *{box-sizing:border-box}#partnersPage .mt-main{display:flex;flex-direction:column;min-width:0;min-height:0}
#partnersPage .mt-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 24px;padding:24px 0 18px;border-bottom:1px solid #e5eaf0;background:white;color:#101923}
#partnersPage h2{font-size:30px;line-height:1.2;margin:0 0 6px;font-weight:750;color:#080f18}#partnersPage [data-count]{font-size:18px;color:#516174;margin:0}
#partnersPage .mt-totals{display:flex;flex-shrink:0}#partnersPage .mt-totals>div{padding:0 20px;border-left:1px solid #e0e6ed}#partnersPage .mt-totals>div:first-child{border:0}#partnersPage .mt-totals b{display:block;text-align:center;font-size:20px;margin-top:4px}
#partnersPage .mt-state{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}#partnersPage .mt-state i{height:11px;width:11px;border-radius:50%;background:#97a3af;display:inline-block}#partnersPage .online i{background:#00a833}#partnersPage td .online{color:#17602c}#partnersPage .offline i{background:#ff3550}#partnersPage td .offline{color:#ed2442}#partnersPage .alert i,#partnersPage .mt-alert{color:#eaaa00;background:#eaaa00}#partnersPage .mt-alert{background:none}
#partnersPage .mt-filters{display:grid;grid-template-columns:2fr 1fr .85fr;gap:16px;padding:14px 24px}#partnersPage .mt-filters label{position:relative;display:flex;align-items:center;margin:0}#partnersPage .mt-filters svg{position:absolute;left:14px;width:20px;height:20px;color:#59697b}#partnersPage .mt-filters input,#partnersPage .mt-filters select{width:100%!important;min-width:0!important;max-width:none!important;height:42px!important;border:1px solid #d5dde7;border-radius:7px;background:white;color:#233144;font:inherit;padding:8px 12px}#partnersPage .mt-filters input{padding-left:44px}
#partnersPage .mt-scroll{overflow:auto;min-height:0;flex:1}#partnersPage table{border-collapse:collapse;width:100%;min-width:740px;table-layout:auto;margin:0;background:#fff}#partnersPage thead{position:sticky;top:0;z-index:1;background:#f6f8fa}#partnersPage th{padding:0!important;border:1px solid #e5eaf0;font-weight:600;text-align:left}#partnersPage th button{border:0;background:transparent;padding:15px 24px;color:#1d2a3c;font:inherit;text-align:left;width:100%;cursor:pointer}#partnersPage th span{margin-left:8px;color:#65829e}#partnersPage td{height:51px;padding:10px 24px;border-bottom:1px solid #e7ecf2;color:#344354;white-space:nowrap;font-size:14px}#partnersPage tr.selected td{background:#e6f2ff!important}#partnersPage tbody tr{cursor:pointer}#partnersPage tbody tr:hover td{background:#f3f8fd}#partnersPage .mt-equipment{display:flex;align-items:center;gap:22px;color:#111923}#partnersPage svg{width:26px;height:26px;flex:none;color:#26485f}#partnersPage .mt-equipment.wifi svg{color:#009b26}#partnersPage .mt-equipment strong{font-weight:650}
#partnersPage .mt-client{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#006bce!important;font:inherit;text-align:left;cursor:pointer;white-space:normal}
#partnersPage .mt-aside{border-left:1px solid #dfe5ed;padding:24px;overflow:auto;background:white}#partnersPage h3{margin:0 0 24px;font-size:18px;color:#111923}#partnersPage .mt-selection{display:flex;align-items:center;gap:20px;margin:0 0 28px;overflow-wrap:anywhere}#partnersPage .mt-selection>svg{width:48px;height:48px}#partnersPage .mt-selection strong{display:block;font-size:21px;font-weight:700;margin-bottom:4px}#partnersPage .mt-action{display:flex!important;align-items:center;gap:20px;width:100%;padding:14px 8px!important;border:0!important;border-radius:5px!important;background:white!important;box-shadow:none!important;font:16px/1.4 Inter,'Segoe UI',sans-serif!important;color:#24364b;text-align:left;cursor:pointer;min-height:48px}#partnersPage .mt-action.mt-primary{background:#006bd6!important;border:1px solid #005fc3!important;color:#fff!important;justify-content:center;padding:12px!important;font-size:18px!important}#partnersPage .mt-primary svg{color:white}#partnersPage .mt-actions{padding-top:20px}#partnersPage summary{display:flex;align-items:center;gap:20px;padding:14px 8px;cursor:pointer;font-size:16px;list-style:none}#partnersPage summary::-webkit-details-marker{display:none}#partnersPage .mt-list-actions{border-top:1px solid #dfe5ec;margin-top:26px;padding-top:24px}#partnersPage .mt-list-actions h3{margin-bottom:10px}#partnersPage .mt-list-actions button,#partnersPage .mt-list-actions svg{color:#006bd6}#partnersPage button:disabled{opacity:.4;cursor:not-allowed}#partnersPage :focus-visible{outline:2px solid #006bd6;outline-offset:-2px}#partnersPage .mt-message{margin:0 24px;color:#a33522}#partnersPage .mt-message:empty{display:none}
@media(max-width:1100px){body #partnersPage{grid-template-columns:minmax(0,1fr) 240px}#partnersPage .mt-heading{align-items:flex-start;flex-direction:column}#partnersPage .mt-aside{padding:16px}#partnersPage h2{font-size:25px}}
@media(max-width:700px){body #partnersPage{display:flex!important;flex-direction:column;max-height:none;height:auto}#partnersPage .mt-scroll{max-height:55dvh}#partnersPage .mt-aside{border-left:0;border-top:1px solid #dfe5ec}#partnersPage .mt-filters{grid-template-columns:1fr 1fr;padding:12px}#partnersPage .mt-filters label{grid-column:1/-1}#partnersPage .mt-totals>div{padding:0 10px}body #content:has(>#partnersPage){overflow:auto!important}}

#partnersPage [hidden]{display:none!important}#partnersPage .mt-column-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:4px 24px 10px}#partnersPage .column-filters th{padding:5px!important}#partnersPage .column-filters input{width:100%!important;min-width:70px;height:32px!important;border:1px solid #d5dde7;border-radius:5px;padding:5px;font:12px Inter,sans-serif}#partnersPage td .asset-patch-counters{display:inline-flex;gap:6px}#partnersPage .mt-scroll{min-width:0}#partnersPage .asset-patch-legend{font-size:11px}#partnersPage table{min-width:850px}
/* V3.4.569: fixed viewport allocation; only the data viewport scrolls. */
body #partnersPage{height:var(--mt-height,calc(100dvh - 180px))!important;min-height:0!important;max-height:none!important;grid-template-rows:minmax(0,1fr)!important}
body #partnersPage .mt-main{height:100%!important;min-height:0!important;overflow:hidden!important}
body #partnersPage .mt-main>*{flex-shrink:0}
body #partnersPage .mt-scroll{flex:1 1 0!important;min-height:0!important;height:0!important;max-height:none!important;overflow:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable}
#partnersPage .mt-filters{display:grid!important;grid-template-columns:minmax(180px,1fr) minmax(145px,220px) auto minmax(115px,180px) auto 42px;gap:10px;padding:10px!important;border:1px solid #cbd9e8;border-radius:10px;align-items:center;background:#fff}
#partnersPage .mt-filters label{min-width:0}#partnersPage .mt-filters .mt-state-label{font-size:14px;white-space:nowrap}
#partnersPage .mt-filters input{padding-left:12px!important}#partnersPage .mt-filters input,#partnersPage .mt-filters select,#partnersPage .mt-filters button{height:40px!important;min-height:40px!important;margin:0!important}
#partnersPage #mtColumns{white-space:nowrap;background:#e5edf5;border:1px solid #ccd9e7;border-radius:6px;color:#2e465e;padding:0 13px;font-weight:600}
#partnersPage #mtResetFilters{font-size:24px;border:1px solid #b9cde0;border-radius:6px;background:#f6f9fc;color:#50667e;padding:0;min-width:0}
#partnersPage .mt-column-tools{display:flex!important;justify-content:space-between;gap:12px;padding:7px 14px!important;min-height:34px;font-size:12px;color:#536c86}
#partnersPage .asset-patch-legend{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:11px;white-space:nowrap}
#partnersPage thead{position:sticky!important;top:0!important;z-index:2;background:#f6f8fa}
#partnersPage td{max-width:440px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1200px){#partnersPage .mt-filters{grid-template-columns:minmax(120px,1fr) 150px auto 120px auto 40px;gap:6px}#partnersPage .mt-column-tools{flex-wrap:wrap}#partnersPage .asset-patch-legend{flex-wrap:wrap;margin-left:0}}
@media(max-width:900px){#partnersPage .mt-filters{grid-template-columns:minmax(120px,1fr) auto auto}#partnersPage .mt-filters>label:first-child{grid-column:1/-1}#partnersPage .mt-state-label{display:none!important}}
@media(max-width:700px){body #partnersPage{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) auto!important}#partnersPage .mt-aside{max-height:30dvh;overflow:auto!important}#partnersPage .mt-filters label{grid-column:auto}#partnersPage .mt-heading{padding:10px 0;margin:0 12px}#partnersPage h2{font-size:20px}#partnersPage .mt-totals{font-size:12px}}

/* Density shared with the Parc informatique list. */
body #partnersPage{font-size:13px}
#partnersPage table,#partnersPage td,#partnersPage th button{font-size:13px;line-height:1.2}
#partnersPage td{height:44px;padding:5px 8px}
#partnersPage th button{height:38px;padding:6px 8px}
#partnersPage .mt-equipment{gap:10px}
#partnersPage .mt-equipment svg{width:22px;height:22px}
#partnersPage .column-filters th{height:40px;padding:4px 6px!important}
#partnersPage .column-filters input{height:32px!important;min-height:32px!important;padding:4px 8px;font-size:12px}
#partnersPage .mt-filters input,#partnersPage .mt-filters select,#partnersPage .mt-filters button{height:var(--control-height,44px)!important;min-height:var(--control-height,44px)!important;font-size:13px}
#partnersPage .mt-filters button{font-size:12px}
#partnersPage .entity-pagination{flex:0 0 auto;margin:0;padding:10px 14px;border-top:1px solid #dfe5ec;background:#fff;min-height:52px}
#partnersPage .entity-pagination select{width:82px;height:var(--control-height,44px);min-height:32px}
#partnersPage .entity-pagination .btn{height:36px;min-height:36px}
#viewDialog:has([data-mt-up]) .column-choice{display:flex;align-items:center;gap:6px}
#viewDialog:has([data-mt-up]) .column-choice label{flex:1;display:flex;align-items:center;gap:6px;margin:0}
#viewDialog:has([data-mt-up]) .column-choice button{width:28px;min-width:28px;height:28px;min-height:28px;padding:0;border:1px solid #ccd9e7;border-radius:5px;background:#f4f8fc;color:#274863}
@media screen and (min-width:901px){#partnersPage table,#partnersPage td,#partnersPage th button{font-size:12px}}

/* Keep V3.4.570 rounding on the separate Parc informatique list. */
@media screen{html body table[data-entity="assets"] .asset-patch-counter{min-width:28px;height:28px;border-radius:999px;padding-inline:5px;}}

/* V3.4.572: only the action rail and update counter shapes change. */
#partnersPage td .asset-patch-counter{width:28px;min-width:28px;height:28px;padding:0;border-radius:50%!important;font-size:12px;}
#partnersPage .mt-aside{padding:0 14px 14px;}
#partnersPage .mt-rail-title{position:sticky;top:0;z-index:2;background:white;padding:14px;margin:0 -14px;font-size:16px;border-bottom:1px solid #d9e4e9;}
#partnersPage .mt-selection{font-size:13px;font-weight:600;margin:0;padding:12px 0;border-bottom:1px solid #d9e4e9;}
#partnersPage .mt-rail-group{padding:12px 0;border-bottom:1px solid #d9e4e9;}
#partnersPage .mt-rail-group h3{font-size:14px;line-height:1.3;margin:0 0 8px;}
#partnersPage .mt-action{gap:10px;padding:10px 4px!important;min-height:40px;font-size:13px!important;color:#0876f3;border-radius:6px!important;}
#partnersPage .mt-action svg{width:23px;height:23px;color:currentColor;}
#partnersPage .mt-action.mt-primary{font-size:13px!important;min-height:40px;background:#0876f3!important;margin:4px 0 10px;}
#partnersPage .mt-action:disabled{color:#8b9aa8;opacity:.55;}
#partnersPage .mt-action[data-action="delete"]{color:#d94242;}
#partnersPage .mt-multi-help{display:block;font-size:11px;color:#65738b;margin-top:10px;}

/* V3.4.573: approved filter proportions and available workspace. */
@media screen {
 html body:has(#partnersPage)>.main{padding-left:4px!important;padding-right:4px!important;padding-bottom:0!important;}
 html body #content:has(>#partnersPage){margin:0!important;padding:0!important;width:100%!important;max-width:none!important;}
 html body #partnersPage{margin:0!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;}
 html body #partnersPage .mt-filters{grid-template-columns:minmax(160px,1.35fr) minmax(190px,1fr) auto minmax(110px,.55fr) auto 36px;gap:10px;align-items:center!important;}
 html body #partnersPage .mt-filters :is(input,select,button){box-sizing:border-box!important;height:36px!important;min-height:36px!important;max-height:36px!important;align-self:center!important;margin:0!important;line-height:normal!important;}
 html body #partnersPage .mt-filters button{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 10px!important;transform:none!important;}
 html body #partnersPage #mtResetFilters{width:36px!important;padding:0!important;font-size:20px!important;}
 html body #partnersPage .mt-filters>label:first-child{height:36px!important;}
}
@media screen and (max-width:1100px){html body #partnersPage .mt-filters{grid-template-columns:minmax(120px,1.2fr) minmax(150px,1fr) auto 110px auto 36px;gap:6px;}}
@media screen and (max-width:900px){html body #partnersPage .mt-filters{grid-template-columns:minmax(140px,1fr) minmax(100px,.6fr) auto 36px;}html body #partnersPage .mt-filters>label:first-child{grid-column:1/-1;}}
@media screen and (max-width:500px){html body #partnersPage .mt-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}html body #partnersPage #mtResetFilters{justify-self:end;}}

/* Move the clipping container, not the table inside it. Scoped to this view. */
@media screen{html body #content:has(>#partnersPage){margin-top:var(--mt-top-offset,0px)!important;}}

#partnersPage .asset-patch-legend .asset-patch-counter{border-radius:50%!important;}

/* Refresh label and inline progress without displacing the table. */
#partnersPage .mt-result-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
#partnersPage .mt-result-summary .mt-message{margin:0;color:var(--blue);font:inherit;overflow-wrap:anywhere}
#partnersPage .mt-aside .mt-action.refresh-with-label{width:100%!important;height:auto!important;min-height:40px!important;max-width:none!important;padding:10px 4px!important;justify-content:flex-start!important;font-size:13px!important;gap:10px!important}

#partnersPage .pt-filters{display:flex;gap:12px;padding:12px}#partnersPage .pt-filters input{flex:1;min-width:0}#partnersPage .pt-filters input,#partnersPage .pt-filters select{padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--surface,#fff);color:var(--ink)}
#partnersPage .mt-primary{background:var(--blue)!important;border-color:var(--blue)!important}#partnersPage .pt-top{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr);gap:16px}#partnersPage .pt-card{border:1px solid var(--line);border-radius:8px;background:var(--surface,#fff);padding:16px;margin-bottom:16px;min-width:0}#partnersPage .pt-card h3{margin:0 0 16px}#partnersPage .pt-form-scroll{padding:18px}#partnersPage .pt-coordinate label{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:12px;margin-bottom:14px}#partnersPage .pt-card input,#partnersPage .pt-card select{min-width:0;width:100%;padding:9px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--surface,#fff);box-sizing:border-box}#partnersPage .pt-card input:disabled,#partnersPage .pt-card select:disabled{opacity:1;background:var(--pale,#f5f8fc)}#partnersPage .pt-edit-table{min-width:520px}#partnersPage .pt-edit-table td{padding:8px;white-space:normal;overflow-wrap:anywhere}#partnersPage .pt-edit-table th{padding:8px!important}#partnersPage .pt-edit-table a{overflow-wrap:anywhere}#partnersPage .pt-error{color:var(--danger,#b42318);white-space:pre-wrap}#partnersPage .pt-card>.btn{margin-top:12px;display:inline-flex;gap:8px;align-items:center}#partnersPage tbody tr:focus{outline:2px solid var(--blue);outline-offset:-2px}
@media(max-width:1100px){#partnersPage .pt-top{grid-template-columns:1fr}}@media(max-width:760px){body #partnersPage{grid-template-columns:1fr;overflow:auto!important;height:auto!important;min-height:calc(100dvh - 170px)!important}#partnersPage .mt-aside{border-left:0;border-top:1px solid var(--line)}#partnersPage .mt-scroll{height:auto!important;min-height:220px!important;max-height:65dvh!important}#partnersPage .mt-heading{flex-wrap:wrap;margin:0 14px;padding:16px 0}#partnersPage .mt-totals>div{padding:0 10px}#partnersPage h2{font-size:25px}#partnersPage .pt-form-scroll{padding:12px}}
@media print{body #partnersPage{display:block!important;height:auto!important;max-height:none!important;overflow:visible!important}#partnersPage .mt-main,#partnersPage .mt-scroll{height:auto!important;overflow:visible!important}#partnersPage .mt-aside,#partnersPage .pt-filters,#partnersPage .entity-pagination,#partnersPage .column-filters,#partnersPage button{display:none!important}#partnersPage .pt-card input,#partnersPage .pt-card select{border:0;background:white}}
.phonebook-kind{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:3px;white-space:normal}

/* Partenaires : mêmes commandes que Matériel, sans modifier les autres écrans. */
html body #partnersPage .mt-action svg{fill:none;stroke:currentColor;flex:0 0 23px;width:23px;height:23px}
html body #partnersPage .mt-action.mt-primary svg{color:var(--button-ink,#fff)}
html body #partnersPage .mt-action[data-partner-action="cancel"]{border:1px solid var(--line,#ccd8e5)!important;justify-content:center;min-height:48px}
html body #partnersPage .mt-action[data-partner-action="save"]{min-height:48px}

/* V679 — partner record follows the Material record: separate fixed header,
   independently scrolling cards and permanent full-height action rail.
   The list retains its existing model; custom declares the record's own shell. */
html body #partnersPage.pt-record{border-radius:0!important;background:#f6f9fc!important;grid-template-columns:minmax(0,1fr) 260px!important;grid-template-rows:auto minmax(0,1fr)!important}
html body #partnersPage.pt-record>.mt-heading{grid-column:1;grid-row:1;margin:0;padding:12px 20px;min-height:80px;border:0;gap:16px;flex-direction:row;align-items:center}
html body #partnersPage.pt-record>.mt-heading h2{font-size:20px;line-height:1.3;margin:0 0 4px;color:var(--ink,#19334b)}
html body #partnersPage.pt-record>.mt-heading [data-count]{font-size:12px;color:var(--muted)}
html body #partnersPage.pt-record .form-counter strong{font-size:20px}
html body #partnersPage.pt-record .form-counter-label{font-size:12px}
html body #partnersPage.pt-record>.mt-main{grid-column:1;grid-row:2;background:#f6f9fc}
html body #partnersPage.pt-record>.mt-aside{grid-column:2;grid-row:1/3;padding:0 14px 14px;min-height:0;overflow:auto}
html body #partnersPage.pt-record .mt-rail-title{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:56px;font-size:16px}
html body #partnersPage.pt-record .pt-close{border:0;background:none;color:var(--danger,#c52222);padding:4px;display:inline-flex;cursor:pointer}
html body #partnersPage.pt-record .pt-close svg{width:18px;height:18px;color:inherit}
html body #partnersPage.pt-record .pt-form-scroll{padding:18px;background:#f6f9fc}
html body #partnersPage.pt-record .pt-top{grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr);gap:18px;align-items:start}
html body #partnersPage.pt-record .pt-card{border:1px solid #e1e8f0;border-radius:6px;padding:16px;margin-bottom:18px;box-shadow:none}
html body #partnersPage.pt-record .pt-card h3{font-size:14px;line-height:1.4;margin:0 0 14px;color:var(--ink,#19334b)}
html body #partnersPage.pt-record .pt-coordinate label{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin-bottom:14px;font-size:12px}
html body #partnersPage.pt-record .pt-coordinate :is(input,select){height:36px;padding:8px 10px;font:inherit;font-size:14px;max-width:480px;border-radius:6px}
@media screen and (min-width:760px){html body #partnersPage.pt-record{position:fixed;top:var(--pt-top);left:var(--pt-left);width:var(--pt-width)!important;height:var(--mt-height)!important;z-index:20}}
@media(max-width:1100px){html body #partnersPage.pt-record .pt-top{grid-template-columns:1fr}html body #partnersPage.pt-record>.mt-heading{flex-wrap:wrap}html body #partnersPage.pt-record .form-counter{padding-inline:10px}}
@media(max-width:759px){html body #partnersPage.pt-record{position:relative;display:flex!important;flex-direction:column;height:auto!important;overflow:visible!important}html body #partnersPage.pt-record>.mt-main{height:auto!important;overflow:visible!important}html body #partnersPage.pt-record>.mt-aside{max-height:none}html body #partnersPage.pt-record .pt-form-scroll{height:auto!important;max-height:none!important;overflow:visible!important}}
@media print{html body #partnersPage.pt-record{position:static!important;display:block!important;height:auto!important;width:100%!important}html body #partnersPage.pt-record>.mt-aside{display:none!important}}

@media(max-width:759px){html body #partnersPage.pt-record>.mt-main,html body #partnersPage.pt-record .pt-form-scroll{flex:0 0 auto!important;min-height:0!important}html body #partnersPage.pt-record>.mt-aside{position:static!important;flex:none}}
