/* CB CONCEPT 83 - styles safe-2 (bundle unique)
   Genere le 2026-07-09 par fusion des sources safe-2.
   Cache-buster: 20260708-recette-cloudflare-safe-2
   Ordre de chargement d'origine preserve a l'identique. */

/* ======================================================================
   >>> styles.css
   ====================================================================== */
:root{--ink:#172522;--muted:#6e7e7a;--forest:#0d3934;--forest2:#15554c;--mint:#cfe9df;--lime:#d6f05a;--cream:#f4f5f0;--white:#fff;--line:#dfe5e0;--orange:#ff9b52;--shadow:0 18px 50px rgba(21,45,39,.12)}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}.hidden{display:none!important}button,input,textarea,select{font:inherit}.login-screen{min-height:100vh;background:radial-gradient(circle at 8% 20%,#1d5b52 0,transparent 30%),radial-gradient(circle at 90% 80%,#173f3b 0,transparent 30%),#092d29;color:#fff;display:grid;place-items:center;padding:80px 20px;position:relative}.login-brand{position:absolute;top:34px;left:48px;display:flex;align-items:center;gap:12px;font:800 18px Manrope}.login-brand>span>span,.brand>span>span{color:var(--lime)}.brand-mark{width:40px;height:40px;border:1px solid #8daf91;border-radius:12px;display:grid;place-items:center;color:var(--lime);font:800 13px Manrope}.login-card{width:min(100%,480px);background:#fff;color:var(--ink);border-radius:24px;padding:44px;box-shadow:0 30px 80px #001c174d}.eyebrow{color:#3d6b63;font-size:11px;font-weight:800;letter-spacing:1.8px}.login-card h1{font:800 35px/1.15 Manrope;margin:15px 0 12px;letter-spacing:-1.2px}.login-card>p{color:var(--muted);line-height:1.6;margin:0 0 30px}.login-card label{font-size:13px;font-weight:700}.code-field{height:58px;border:1px solid var(--line);border-radius:12px;display:flex;margin:9px 0 5px;overflow:hidden}.code-field:focus-within{border-color:var(--forest2);box-shadow:0 0 0 3px #15554c15}.code-field input{border:0;outline:0;flex:1;padding:0 18px;font-size:22px;letter-spacing:8px}.code-field button{border:0;background:#fff;padding:0 17px;color:var(--muted)}.error{color:#bd3d38;font-size:12px;min-height:20px}.primary{border:0;background:var(--forest);color:#fff;border-radius:10px;padding:14px 18px;font-weight:700;cursor:pointer}.primary:hover{background:var(--forest2)}.wide{width:100%;display:flex;justify-content:space-between}.demo-codes{border-top:1px solid var(--line);margin-top:27px;padding-top:20px;display:flex;gap:8px;flex-wrap:wrap}.demo-codes span{width:100%;font-size:10px;color:#94a09d;text-transform:uppercase;letter-spacing:1px}.demo-codes button{font-size:11px;padding:7px 10px;border:0;border-radius:20px;background:#edf3ef;color:#46625b;cursor:pointer}.app{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{background:var(--forest);color:#fff;padding:30px 18px 22px;position:fixed;inset:0 auto 0 0;width:245px;display:flex;flex-direction:column}.brand{padding:0 12px 28px;display:flex;align-items:center;gap:10px;font:800 16px Manrope}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav button{border:0;background:transparent;color:#9fbbb5;text-align:left;border-radius:9px;padding:12px 13px;display:flex;gap:12px;align-items:center;cursor:pointer;font-size:13px}.sidebar nav button:hover,.sidebar nav button.active{background:#fff;color:var(--forest);font-weight:700}.sidebar nav button span{font-size:18px;width:20px;text-align:center}.sidebar nav button b{margin-left:auto;background:var(--lime);color:var(--forest);border-radius:10px;padding:2px 7px;font-size:10px}.sidebar-bottom{margin-top:auto}.sync{display:flex;gap:10px;padding:15px 12px;border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a;align-items:center}.sync i{height:8px;width:8px;border-radius:50%;background:#8be27a;box-shadow:0 0 8px #8be27a}.sync strong,.sync small{display:block}.sync strong{font-size:11px}.sync small{color:#88a9a2;font-size:10px}.sidebar-bottom>button{color:#8dacaa;background:none;border:0;padding:18px 12px 0;cursor:pointer;font-size:12px}main{grid-column:2;min-width:0}header{height:94px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:5}.crumb{color:#a1aaa7;font-size:10px}.crumb span{margin:0 6px}.crumb b{color:#4c625d}header h2{font:800 20px Manrope;margin:7px 0 0}.header-actions{display:flex;align-items:center;gap:11px}.icon-btn{border:1px solid var(--line);background:#fff;height:38px;width:38px;border-radius:10px;position:relative}.icon-btn i{position:absolute;width:6px;height:6px;background:#ff695f;border-radius:50%;right:8px;top:8px}.avatar{height:38px;width:38px;background:var(--mint);border-radius:10px;display:grid;place-items:center;color:var(--forest);font-weight:800;font-size:12px}.profile strong,.profile span{display:block}.profile strong{font-size:12px}.profile span{font-size:10px;color:var(--muted)}#mobile-nav{display:none}.page{padding:28px 34px 50px;max-width:1500px;margin:auto}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.toolbar p{margin:5px 0 0;color:var(--muted);font-size:13px}.toolbar h1{font:800 24px Manrope;margin:0}.btn-row{display:flex;gap:9px}.secondary{background:#fff;border:1px solid var(--line);padding:11px 14px;border-radius:9px;color:#455954;font-weight:600;font-size:12px;cursor:pointer}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.stat{background:#fff;border:1px solid #e4e8e4;border-radius:14px;padding:17px 18px}.stat-top{display:flex;justify-content:space-between;color:#687b76;font-size:11px;font-weight:600}.stat-icon{height:31px;width:31px;border-radius:9px;display:grid;place-items:center;background:#e1eee9;color:var(--forest)}.stat strong{font:800 28px Manrope;display:inline-block;margin-top:14px}.stat small{color:#8a9894;font-size:10px;margin-left:4px}.trend{font-size:10px;color:#398263;margin-top:6px}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:18px}.card{background:#fff;border:1px solid #e1e6e2;border-radius:14px;overflow:hidden}.card-head{padding:18px 20px 13px;display:flex;justify-content:space-between}.card-head h3{font:800 15px Manrope;margin:0}.card-head p{font-size:10px;color:var(--muted);margin:5px 0 0}.link-btn{background:none;border:0;color:#2d6b61;font-weight:700;font-size:11px;cursor:pointer}.schedule{padding:0 20px 13px}.job{display:grid;grid-template-columns:52px 5px 1fr auto;gap:12px;padding:13px 0;border-top:1px solid #edf0ed;align-items:center}.job:first-child{border-top:0}.job time{font-weight:800;font-size:12px}.job time small{display:block;color:#9aa6a3;font-weight:500}.job .bar{height:46px;border-radius:5px;background:var(--orange)}.job:nth-child(2) .bar{background:#69afa2}.job:nth-child(3) .bar{background:#7e9cef}.job h4{margin:0;font-size:12px}.job p{margin:4px 0 0;font-size:10px;color:var(--muted)}.tag{font-size:9px;border-radius:20px;padding:5px 8px;background:#edf3f0;color:#47665f;white-space:nowrap}.tag.urgent{background:#ffede0;color:#c66b32}.activity{padding:0 20px 8px}.activity-item{display:grid;grid-template-columns:29px 1fr auto;gap:10px;border-top:1px solid #edf0ed;padding:14px 0}.activity-icon{height:29px;border-radius:8px;background:#e9f1ee;display:grid;place-items:center;font-size:11px}.activity-item p{margin:0;font-size:11px;line-height:1.4}.activity-item time{font-size:9px;color:#9ba6a3}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.quick{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px;text-align:left;cursor:pointer;display:flex;gap:12px;align-items:center}.quick:hover{box-shadow:var(--shadow)}.quick i{font-style:normal;width:35px;height:35px;border-radius:9px;background:#e5f0ec;display:grid;place-items:center}.quick strong{display:block;font-size:12px}.quick span{color:var(--muted);font-size:10px}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:720px}.data-table th{text-align:left;padding:12px 18px;background:#f7f8f5;color:#84908c;font-size:9px;text-transform:uppercase}.data-table td{padding:15px 18px;border-top:1px solid #edf0ed;font-size:11px}.client-cell strong,.client-cell span{display:block}.client-cell span{color:var(--muted);margin-top:3px}.status{display:inline-block;padding:5px 9px;border-radius:15px;background:#e7f3ed;color:#39755f;font-size:9px}.status.pending{background:#fff1dc;color:#9a6c27}.role-chip{padding:4px 8px;background:#e4f0ec;border-radius:14px;font-size:9px}.calendar-row{display:flex;gap:7px;margin-bottom:18px}.day{flex:1;background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px;text-align:center;color:var(--muted)}.day b,.day span{display:block}.day b{font:700 17px Manrope;color:var(--ink);margin-top:6px}.day.active{background:var(--forest);color:#aac3bd}.day.active b{color:#fff}

/* ======================================================================
   >>> forms.css
   ====================================================================== */
.modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center}.modal-backdrop{position:absolute;inset:0;background:#0b1c1980;backdrop-filter:blur(3px)}.modal-panel{position:relative;background:#fff;border-radius:18px;width:min(92vw,760px);max-height:90vh;overflow:auto;padding:30px;box-shadow:var(--shadow)}.modal-close{position:absolute;right:20px;top:16px;border:0;background:none;font-size:25px;color:#70807c;cursor:pointer}.modal h2{font:800 22px Manrope;margin:0 0 5px}.modal .subtitle{color:var(--muted);font-size:12px;margin:0 0 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field.full{grid-column:1/-1}.field label{display:block;font-size:10px;font-weight:700;color:#52645f;margin-bottom:6px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:9px;padding:11px 12px;outline:0;background:#fff;color:var(--ink);font-size:12px}.field textarea{min-height:85px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#55958a}.check-row{display:flex;gap:8px;flex-wrap:wrap}.choice{border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:11px}.photo-drop{border:1px dashed #9ab5ae;background:#f5f9f7;border-radius:11px;padding:20px;text-align:center;cursor:pointer}.photo-drop b{display:block;font-size:12px}.photo-drop span{color:var(--muted);font-size:10px}.previews{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.previews img{width:75px;height:60px;object-fit:cover;border-radius:7px}.modal-footer{display:flex;justify-content:flex-end;gap:9px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.toast{position:fixed;right:25px;bottom:25px;background:var(--forest);color:#fff;border-radius:10px;padding:14px 18px;font-size:12px;box-shadow:var(--shadow);z-index:50}
@media(max-width:950px){.app{grid-template-columns:1fr}.sidebar{transform:translateX(-100%);z-index:10;transition:.2s}.sidebar.open{transform:none}main{grid-column:1}#mobile-nav{display:block;border:0;background:none;font-size:20px}.stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.profile{display:none}}
@media(max-width:600px){header{height:76px;padding:0 17px}.page{padding:20px 15px}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:13px}.stat strong{font-size:23px}.toolbar{align-items:flex-start;gap:12px}.btn-row{flex-direction:column}.quick-actions{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:1}.modal-panel{padding:26px 18px}.login-card{padding:30px 24px}.login-brand{left:20px}.calendar-row .day:nth-child(-n+2){display:none}}
@media print{.sidebar,header,.modal-backdrop,.modal-close,.modal-footer{display:none!important}.modal{position:static}.modal-panel{box-shadow:none;max-height:none;width:100%}body{background:#fff}}

/* ======================================================================
   >>> v2.css
   ====================================================================== */
.job-button{width:100%;border:0;background:transparent;text-align:left;color:inherit;cursor:pointer}.job-button:hover{background:#f6f9f7}.job-copy{display:block}.job-copy b,.job-copy small{display:block}.job-copy b{font-size:12px}.job-copy small{font-size:10px;color:var(--muted);margin-top:4px}.empty-state{padding:35px 20px;text-align:center;color:var(--muted)}.empty-state b,.empty-state span{display:block}.empty-state b{color:var(--ink);font-size:13px}.empty-state span{font-size:11px;margin-top:5px}.planning-nav{display:flex;justify-content:flex-end;gap:7px;margin:-8px 0 13px}.day small{display:block;font-size:9px;margin-top:6px;color:#8da09b}.day.active small{color:#b9d0ca}.notice{background:#edf5f1;border:1px solid #d4e5de;border-radius:12px;padding:14px 17px;margin-bottom:18px;display:flex;align-items:center;gap:10px;color:#45615a;font-size:11px}.notice b{color:var(--forest);white-space:nowrap}.notice button{margin-left:auto}.stats.three{grid-template-columns:repeat(3,1fr)}.row-actions{display:flex;gap:8px;align-items:center}.stock-grid{grid-template-columns:1.7fr 1fr}.stock-table{min-width:550px}.status.danger{background:#ffe6e2;color:#b84338}.request-list{padding:0 18px 15px}.request{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:14px 0;border-top:1px solid #edf0ed}.request:first-child{border-top:0}.request b,.request small{display:block}.request b{font-size:11px}.request small{font-size:9px;color:var(--muted);line-height:1.6;margin-top:3px}.wide-modal{width:min(94vw,900px)}.inline-inputs{display:flex;align-items:center;gap:8px}.inline-inputs input{min-width:0}.section-title{border-top:1px solid var(--line);padding-top:18px;margin-top:5px}.section-title b,.section-title span{display:block}.section-title b{font:800 14px Manrope}.section-title span{color:var(--muted);font-size:10px;margin-top:3px}.tool-checks .choice{cursor:pointer;background:#f7f9f7}.tool-checks .choice:has(input:checked){background:#dfeee8;border-color:#78a69b}.switch-line{min-height:42px;display:flex!important;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:9px}.switch-line input{width:auto}.large-textarea{min-height:150px!important}.email-target{margin-top:18px;padding:13px;background:#f3f6f4;border-radius:10px;display:flex;align-items:center;gap:15px}.email-target label{font-size:9px;font-weight:800;color:var(--muted);white-space:nowrap}.email-target input{flex:1;border:1px solid var(--line);border-radius:8px;padding:10px}.report{border:1px solid var(--line);padding:30px;border-radius:12px}.report-brand{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--forest);padding-bottom:15px}.report-brand>b{font:800 18px Manrope}.report-brand>b span{color:#81a61b}.report-brand small,.report-title span,.report-grid span,.report-payment span{font-size:9px;letter-spacing:1px;color:var(--muted);font-weight:800}.report-title{display:flex;justify-content:space-between;align-items:end;padding:22px 0}.report-title h2{margin:4px 0 0}.report-grid{display:grid;grid-template-columns:1fr 1fr;background:#f3f6f3;padding:16px;border-radius:9px;gap:20px}.report-grid b,.report-grid small{display:block}.report-grid b{font-size:12px;margin:4px 0}.report-grid small{color:var(--muted);font-size:10px;line-height:1.5}.report section{padding:16px 0;border-bottom:1px solid var(--line)}.report section h3{font:800 12px Manrope;margin:0 0 7px}.report section p{font-size:11px;line-height:1.6;margin:0;white-space:pre-line}.report-payment{display:flex;justify-content:space-between;padding-top:18px}.report-payment b{font-size:12px}@media(max-width:700px){.planning-nav{justify-content:stretch}.planning-nav button{flex:1;font-size:9px;padding:9px 5px}.stock-grid{grid-template-columns:1fr}.notice{align-items:flex-start;flex-direction:column}.notice button{margin-left:0}.stats.three{grid-template-columns:1fr 1fr}.email-target{align-items:stretch;flex-direction:column}.report{padding:18px}.report-title,.report-brand{align-items:flex-start;gap:10px}.report-grid{grid-template-columns:1fr}.wide-modal{width:96vw}.row-actions{flex-direction:column;align-items:flex-start}}
@media print{body>*:not(#modal){display:none!important}#modal{display:block!important;position:static!important}.modal-backdrop,.modal-close,.no-print,.email-target{display:none!important}.modal-panel{position:static!important;width:100%!important;max-height:none!important;padding:0!important;border-radius:0!important}.report{border:0;padding:0}.report-brand{margin-top:10mm}}

/* ======================================================================
   >>> checklist.css
   ====================================================================== */
.field-help{font-size:10px;color:var(--muted);font-style:italic}.supply-ready{margin-top:10px}.taken:has(input:checked){background:#dff0e7!important;color:#276648}.report-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.report-photos img{width:100%;height:125px;object-fit:cover;border-radius:7px}

/* ======================================================================
   >>> theme-blue.css
   ====================================================================== */
:root{--forest:#155f9b;--forest2:#0f4d80;--mint:#dceefa;--lime:#67c4f3;--cream:#f5f8fb;--line:#dce5ee;--ink:#172b3a;--muted:#6c7f8d;--shadow:0 18px 50px rgba(22,73,111,.13)}
.login-screen{background:radial-gradient(circle at 8% 20%,#2376b5 0,transparent 31%),radial-gradient(circle at 90% 80%,#174f7a 0,transparent 32%),#0c3a60}.secure-note{margin-top:24px;padding:14px 16px;border:1px solid #dce5ee;border-radius:12px;background:#f5f8fb;color:#5e7484;font-size:12px;line-height:1.5}.sidebar{background:linear-gradient(180deg,#0d4b7d,#103c62)}.brand-mark{border-color:#80b9dc;color:#b9e5ff}.login-brand>span>span,.brand>span>span{color:#7fd4ff}.sidebar nav button{color:#b5cddd}.sidebar nav button:hover,.sidebar nav button.active{color:#124d79}.sidebar nav button b{background:#79cdf5;color:#0c416c}.sync i{background:#65c4ff;box-shadow:0 0 8px #65c4ff}.stat-icon,.quick i,.activity-icon{background:#e2f0f9;color:#155f9b}.icon-btn i{background:#f4b341}.status{background:#e3f0f8;color:#26658d}.status.pending{background:#fff0d8;color:#9b681e}.tool-checks .choice:has(input:checked),.taken:has(input:checked){background:#ddecf7!important;border-color:#73add2!important;color:#174f78!important}.notice{background:#edf5fa;border-color:#d3e6f2;color:#476b81}.notice b{color:#154e76}.report-brand{border-color:#155f9b}.report-brand>b span{color:#3b9ed3}.primary{background:#155f9b}.primary:hover{background:#0f4d80}.link-btn{color:#176ea8}.profile-button{border:0;background:transparent;display:flex;align-items:center;gap:11px;padding:4px 7px;border-radius:10px;cursor:pointer;text-align:left}.profile-button:hover{background:#edf5fa}.avatar{background:#dceefa;color:#155f9b}.history-dot{background:#65bcec}.chip-wrap{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:9px;background:#f7fafc;overflow:hidden}.chip-wrap .choice{border:0;border-radius:0;background:transparent}.chip-remove{border:0;border-left:1px solid var(--line);background:#fff;color:#8b9ba6;height:100%;padding:9px;cursor:pointer}.chip-remove:hover{background:#ffe9e7;color:#b44138}.add-tool-control{display:inline-flex;border:1px dashed #75a9c9;border-radius:9px;overflow:hidden}.add-tool-control input{border:0!important;width:145px!important;padding:8px!important}.add-tool-control button{border:0;background:#e1f0f9;color:#155f9b;font-weight:800;padding:0 11px;cursor:pointer}.audit-list{padding:0 20px 15px}.audit-row{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid #edf1f4}.audit-row:first-child{border-top:0}.audit-row b,.audit-row span{display:block}.audit-row b{font-size:11px}.audit-row span{font-size:10px;color:var(--muted);margin-top:3px}.audit-row time{font-size:9px;color:#8797a1}.task-actions{display:flex;gap:5px}.danger-btn{color:#b94740!important}.notification-list{display:grid;gap:9px}.notification{padding:12px;background:#f4f8fb;border-radius:9px;font-size:11px;line-height:1.5}.notification b{display:block;color:#155f9b}.team-actions{display:flex;gap:5px}.team-actions button{white-space:nowrap}

/* ======================================================================
   >>> v3-components.css
   ====================================================================== */
.profile-sheet{display:flex;align-items:center;gap:15px;background:#f2f7fb;border-radius:12px;padding:18px}.profile-big{width:52px;height:52px;border-radius:13px;background:#d9edf9;color:#155f9b;display:grid;place-items:center;font-weight:800}.profile-sheet b,.profile-sheet span{display:block}.profile-sheet span{font-size:11px;color:var(--muted);margin-top:4px}.compact-select{border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px;font-size:11px}

/* ======================================================================
   >>> google-calendar.css
   ====================================================================== */
.calendar-connect-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:20px;margin-bottom:20px}
.calendar-hero{position:relative;overflow:hidden;padding:26px;background:linear-gradient(135deg,#0d4e8b 0%,#1676c2 100%);color:#fff;border:0}
.calendar-hero:after{content:'G';position:absolute;right:24px;top:-34px;font:800 190px/1 Manrope,sans-serif;color:rgba(255,255,255,.08)}
.calendar-hero h3,.calendar-hero p{position:relative;z-index:1;color:#fff}
.calendar-hero p{max-width:650px;margin:8px 0 22px;color:rgba(255,255,255,.82)}
.calendar-status{position:relative;z-index:1;display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);font-size:13px;font-weight:700}
.calendar-status i{width:9px;height:9px;border-radius:50%;background:#ffcf66;box-shadow:0 0 0 4px rgba(255,207,102,.18)}
.calendar-status.connected i{background:#6ee7a0;box-shadow:0 0 0 4px rgba(110,231,160,.18)}
.calendar-hero-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.calendar-hero .calendar-white{background:#fff;color:#0d4e8b;border-color:#fff}
.calendar-hero .calendar-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}
.calendar-settings{padding:22px}
.calendar-settings h3{margin:0 0 5px}.calendar-settings>p{margin:0 0 20px;color:var(--muted,#68778a)}
.calendar-settings .field{margin-bottom:15px}.calendar-settings .field:last-of-type{margin-bottom:8px}
.calendar-settings input,.calendar-settings select{width:100%}
.calendar-help{display:block;margin-top:6px;color:var(--muted,#68778a);font-size:12px;line-height:1.45}
.calendar-flow{display:grid;grid-template-columns:1fr auto 1fr;gap:15px;align-items:stretch;margin-top:14px}
.calendar-flow-card{padding:18px;border:1px solid #dce7f1;border-radius:14px;background:#f8fbfe}
.calendar-flow-card b{display:block;margin-bottom:10px;color:#17324d}.calendar-flow-card span{display:block;margin-top:7px;color:#607286;font-size:13px}
.calendar-flow-arrow{align-self:center;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e8f3fc;color:#1676c2;font-weight:800;font-size:20px}
.calendar-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.calendar-summary div{padding:14px;border-radius:12px;background:#f5f8fb}.calendar-summary strong{display:block;font-size:20px;color:#143652}.calendar-summary small{color:#738194}
.calendar-warning{margin-top:16px;padding:14px 16px;border:1px solid #cfe2f3;border-radius:12px;background:#f2f8fd;color:#365a78;font-size:13px;line-height:1.5}
.calendar-warning b{color:#174d78}
.calendar-sync-log{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #edf1f5}.calendar-sync-log:last-child{border:0}.calendar-sync-log span{color:#6b7b8c;font-size:13px}
@media(max-width:950px){.calendar-connect-grid{grid-template-columns:1fr}.calendar-flow{grid-template-columns:1fr}.calendar-flow-arrow{transform:rotate(90deg);margin:auto}.calendar-summary{grid-template-columns:1fr}}

/* ======================================================================
   >>> v8-fixes.css
   ====================================================================== */
.notice.danger{border-color:#f2b8b5;background:#fff7f6}
.status.danger{background:#ffe1df;color:#9f1d1d}
.status.success{background:#ddf7e7;color:#126b39}
.past-row{background:#fbfdff}

/* ======================================================================
   >>> v9-simple.css
   ====================================================================== */
.simple-google{margin-bottom:18px;border:1px solid #d7e8f3}
.simple-google .btn-row{justify-content:flex-start;margin:12px 0}
.muted{display:block;color:var(--muted);font-size:12px}
.simple-columns{display:grid;grid-template-columns:1.25fr .85fr;gap:18px}
.simple-list{display:grid;gap:10px}
.simple-job{display:grid;grid-template-columns:74px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}
.simple-job.needs-validation{border-color:#f2b8b5;background:#fffafa}
.simple-time b,.simple-time span{display:block}
.simple-time b{font-size:18px;color:var(--forest)}
.simple-time span{font-size:12px;color:var(--muted)}
.simple-main b,.simple-main span,.simple-main small{display:block}
.simple-main span{font-size:13px;color:var(--ink);margin-top:3px}
.simple-main small{font-size:11px;color:var(--muted);margin-top:4px}
.simple-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.mini{padding:7px 10px;font-size:12px}
@media(max-width:900px){.simple-columns{grid-template-columns:1fr}.simple-job{grid-template-columns:1fr}.simple-actions{justify-content:flex-start}}

/* ======================================================================
   >>> v11-agenda.css
   ====================================================================== */
.agenda-page{display:grid;gap:16px}
.agenda-toolbar p{max-width:760px}
.agenda-google-panel{display:flex;align-items:center;gap:10px;justify-content:flex-end;background:#eef7ff;border:1px solid #cfe7fb;border-radius:18px;padding:12px 14px}
.agenda-google-panel div{margin-right:auto;display:grid;gap:2px}
.agenda-google-panel b{color:#123955}
.agenda-google-panel span{font-size:13px;color:var(--muted)}
.agenda-filters{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.agenda-date-actions{display:flex;gap:8px;flex-wrap:wrap}
.user-chips{display:flex;gap:8px;flex-wrap:wrap}
.user-chip{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 12px;font-weight:700;cursor:pointer}
.user-chip.active{background:#0f4f79;color:white;border-color:#0f4f79}
.readonly-filter{padding:10px 12px}
.agenda-days{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.agenda-day{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;text-align:left;cursor:pointer;box-shadow:0 8px 22px rgba(15,79,121,.06)}
.agenda-day.active{background:#0f4f79;color:#fff;border-color:#0f4f79}
.agenda-day span,.agenda-day small{display:block;font-size:12px;opacity:.78}
.agenda-day b{display:block;font-size:25px;margin:4px 0}
.agenda-alerts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.agenda-layout{display:grid;grid-template-columns:1.45fr .85fr;gap:18px;align-items:start}
.agenda-main-card,.agenda-side-card{min-width:0}
.agenda-list{display:grid;gap:10px}
.agenda-event{width:100%;display:grid;grid-template-columns:84px 1fr auto;gap:12px;align-items:center;text-align:left;border:1px solid var(--line);background:#fff;border-radius:16px;padding:13px;cursor:pointer}
.agenda-event:hover{border-color:#8ec5ea;box-shadow:0 10px 25px rgba(15,79,121,.08)}
.agenda-event.late{border-color:#f2b8b5;background:#fffafa}
.agenda-event-time b,.agenda-event-time span,.agenda-event-time small{display:block}
.agenda-event-time{font-weight:800;color:#0f4f79;font-size:18px}
.agenda-event-time small{font-size:12px;color:var(--muted);font-weight:700;margin-top:2px}
.agenda-event-main{display:grid;gap:3px}
.agenda-event-main b{font-size:15px;color:var(--ink)}
.agenda-event-main small{font-size:13px;color:#425466}
.agenda-event-main em{font-size:12px;color:var(--muted);font-style:normal}
.quick-slots{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.quick-slots h4{margin:0 0 10px;color:#123955}
.quick-slots>div{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.slot-add{border:1px dashed #9bc9e8;background:#f8fcff;border-radius:14px;padding:9px 6px;color:#0f4f79;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:5px}
.slot-add b{background:#0f4f79;color:white;border-radius:50%;width:22px;height:22px;display:grid;place-items:center}
.mini-list .agenda-event{grid-template-columns:70px 1fr}
.mini-list .agenda-event .status{grid-column:1/-1;justify-self:start}
@media(max-width:1050px){
  .agenda-layout,.agenda-alerts{grid-template-columns:1fr}
  .agenda-days{grid-template-columns:repeat(4,1fr)}
  .quick-slots>div{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:700px){
  .agenda-google-panel{align-items:stretch;flex-direction:column}
  .agenda-google-panel div{margin-right:0}
  .agenda-days{grid-template-columns:repeat(2,1fr)}
  .agenda-event{grid-template-columns:1fr}
  .quick-slots>div{grid-template-columns:repeat(2,1fr)}
}

/* ======================================================================
   >>> v12-calendar.css
   ====================================================================== */
.gcal-page{display:grid;gap:16px}
.gcal-google{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #dfe7f1;border-radius:18px;padding:12px 14px;box-shadow:0 10px 24px rgba(15,79,121,.06)}
.gcal-google div{margin-right:auto;display:grid;gap:2px}
.gcal-google b{color:#202124}
.gcal-google span{font-size:13px;color:#5f6368}
.gcal-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.gcal-nav,.gcal-people{display:flex;gap:8px;flex-wrap:wrap}
.gcal-people button{border:1px solid #dadce0;background:#fff;color:#3c4043;border-radius:999px;padding:9px 13px;font-weight:700;cursor:pointer}
.gcal-people button.active{background:#1a73e8;color:#fff;border-color:#1a73e8}
.gcal-filter.fixed{border:1px solid #dadce0;background:#fff;border-radius:999px;padding:10px 13px;color:#3c4043}
.gcal-shell{background:#fff;border:1px solid #dadce0;border-radius:22px;overflow:hidden;box-shadow:0 14px 34px rgba(60,64,67,.08)}
.gcal-header{display:grid;grid-template-columns:72px repeat(7,1fr);border-bottom:1px solid #dadce0;background:#fff}
.gcal-day-head{border:0;border-left:1px solid #edf0f3;background:#fff;padding:12px 8px;text-align:center;cursor:pointer;color:#3c4043}
.gcal-day-head span{display:block;font-size:12px;text-transform:capitalize;color:#5f6368}
.gcal-day-head b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;font-size:18px;margin:4px 0}
.gcal-day-head small{display:block;color:#5f6368;font-size:11px}
.gcal-day-head.active b{background:#1a73e8;color:#fff}
.gcal-body{display:grid;grid-template-columns:72px repeat(7,1fr);height:720px;position:relative}
.gcal-hours{display:grid;grid-template-rows:repeat(12,1fr);background:#fff;border-right:1px solid #dadce0}
.gcal-hours div{font-size:11px;color:#70757a;text-align:right;padding:0 8px 0 0;transform:translateY(-7px)}
.gcal-day-col{position:relative;border-left:1px solid #edf0f3;background:linear-gradient(to bottom,#edf0f3 1px,transparent 1px);background-size:100% calc(100% / 12)}
.gcal-day-col.active{background-color:#f8fbff}
.gcal-slot{position:relative;display:block;width:100%;height:calc(100% / 12);border:0;background:transparent;cursor:pointer}
.gcal-slot:hover{background:rgba(26,115,232,.055)}
.gcal-event{position:absolute;left:6px;right:6px;border:0;border-left:4px solid #1a73e8;background:#d2e3fc;color:#174ea6;border-radius:10px;padding:7px 8px;text-align:left;overflow:hidden;cursor:pointer;box-shadow:0 2px 6px rgba(60,64,67,.16)}
.gcal-event:hover{filter:brightness(.98);box-shadow:0 5px 14px rgba(60,64,67,.22)}
.gcal-event b,.gcal-event span,.gcal-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gcal-event b{font-size:12px;line-height:1.2}
.gcal-event span{font-size:11px;margin-top:2px}
.gcal-event small{font-size:10px;opacity:.86;margin-top:2px}
.gcal-event.late{background:#fce8e6;color:#a50e0e;border-left-color:#d93025}
.gcal-event.done{background:#e6f4ea;color:#137333;border-left-color:#34a853}
.gcal-event.unassigned{background:#fef7e0;color:#b06000;border-left-color:#fbbc04}
.multi-tech-wrap{display:grid;gap:8px}
.multi-techs{display:flex;gap:8px;flex-wrap:wrap}
.tech-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #dadce0;border-radius:999px;padding:8px 11px;background:#fff;cursor:pointer;font-weight:700;color:#3c4043}
.tech-pill input{accent-color:#1a73e8}
.tech-pill.affect{border-style:dashed;color:#b06000}
.multi-tech-wrap small{color:#5f6368;font-size:12px}
@media(max-width:1100px){
  .gcal-body{overflow:auto;grid-template-columns:58px repeat(7,170px)}
  .gcal-header{grid-template-columns:58px repeat(7,170px);overflow:hidden}
  .gcal-shell{overflow:auto}
}
@media(max-width:760px){
  .gcal-google{align-items:stretch;flex-direction:column}
  .gcal-google div{margin-right:0}
  .gcal-body{height:640px;grid-template-columns:52px repeat(7,155px)}
  .gcal-header{grid-template-columns:52px repeat(7,155px)}
}

/* ======================================================================
   >>> v13-truck-notes.css
   ====================================================================== */
.truck-notes-card{margin-top:18px}
.truck-notes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.truck-note{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;display:grid;gap:9px;box-shadow:0 8px 20px rgba(15,79,121,.04)}
.truck-note.done{opacity:.72;background:#f8fafb}
.truck-note-top,.truck-note-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}
.truck-note-top small,.truck-note-foot small{font-size:11px;color:var(--muted)}
.truck-note>b{font-size:15px;color:var(--ink)}
.truck-note p{margin:0;color:#425466;font-size:13px;line-height:1.45}
.truck-note-foot>div{display:flex;align-items:center;gap:6px}
.truck-notes-archive{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.truck-notes-archive summary{cursor:pointer;font-weight:800;color:#0f4f79;margin-bottom:12px}
@media(max-width:700px){.truck-note-top,.truck-note-foot{align-items:flex-start;flex-direction:column}.truck-note-foot>div{width:100%;justify-content:flex-start}}

/* ======================================================================
   >>> v14-contracts.css
   ====================================================================== */
.contracts-page .notice{margin-bottom:18px}
.contract-stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:8px 0 14px}
.contract-stepper span{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:9px 10px;background:#fff;color:var(--muted);font-size:12px;font-weight:800}
.contract-stepper b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#edf3f7;color:#0f4f79}
.contract-stepper span.active{border-color:#0f4f79;color:#0f4f79;background:#eef7ff}
.contract-stepper span.active b,.contract-stepper span.done b{background:#0f4f79;color:#fff}
.contract-stepper span.done{color:#0f4f79}
.contract-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.contract-summary{padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fbff}
.contract-summary b,.contract-summary span{display:block}
.contract-summary span{color:var(--muted);margin-top:4px}
.contract-doc{background:#fff;color:#111;padding:42px 54px;border:1px solid #ddd;max-width:850px;margin:auto;font-family:Arial,Helvetica,sans-serif;line-height:1.45}
.contract-logo{width:max-content;margin:0 auto 30px;border:3px solid #1686c7;border-left-width:5px;border-right-width:5px;padding:10px 22px;text-align:center;color:#13233a}
.contract-logo b{display:block;font-size:24px;letter-spacing:.5px}
.contract-logo span{display:block;font-size:12px;font-weight:700}
.contract-doc h1{text-align:center;font-size:19px;margin:0 0 18px;text-transform:uppercase}
.contract-doc h2{text-align:center;font-size:17px;margin:0 0 46px;text-transform:uppercase}
.contract-doc h3{font-size:15px;margin:22px 0 10px}
.contract-doc p,.contract-doc li{font-size:13px}
.contract-doc ul{margin:8px 0 14px 18px;padding:0}
.contract-phone{margin-left:30px}
.contract-sign{margin-top:34px;display:grid;gap:22px}
.contract-doc footer{margin-top:34px;border-top:1px solid #ccc;padding-top:8px;text-align:center;font-size:10px;color:#555}
@media print{
  body *{visibility:hidden!important}
  #contract-print,#contract-print *{visibility:visible!important}
  #contract-print{position:absolute;left:0;top:0;width:100%;max-width:none;border:0;padding:35px 50px}
  .no-print{display:none!important}
}
@media(max-width:800px){
  .contract-stepper{grid-template-columns:1fr}
  .contract-checks{grid-template-columns:1fr}
  .contract-doc{padding:24px}
  .contract-phone{display:block;margin-left:0}
}

/* ======================================================================
   >>> v15-polish.css
   ====================================================================== */
.cloud-refresh{margin-left:8px;border:0;background:#eef7ff;color:#0f4f79;border-radius:999px;width:28px;height:28px;font-weight:900;cursor:pointer}
.sync{gap:8px}
.reports-page .notice{margin-bottom:18px}
.qty-control{display:flex;align-items:center;gap:8px}
.qty-control b{min-width:28px;text-align:center;font-size:16px}
.qty-control small{color:var(--muted);font-size:11px}
.stock-warning{background:#fffafa}
.truck-page .notice.danger{background:#fff3f1;border-color:#f1c3bd;color:#a33b32}
.truck-page .notice.danger b{color:#a33b32}
.contract-service-row{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}
.contract-service-row .choice{height:100%}
.contract-add-service{display:flex;gap:8px;margin-top:12px}
.contract-add-service input{flex:1;border:1px solid var(--line);border-radius:10px;padding:11px 12px}
@media(max-width:760px){.contract-add-service{flex-direction:column}.qty-control{justify-content:flex-start}.row-actions{gap:6px;flex-wrap:wrap}}

/* ======================================================================
   >>> v16-refresh.css
   ====================================================================== */
.header-refresh{padding:10px 13px;border-radius:999px;white-space:nowrap}
@media(max-width:760px){.header-refresh{font-size:0;padding:10px 12px}.header-refresh::after{content:'↻';font-size:16px}}

/* ======================================================================
   >>> v18-clients.css
   ====================================================================== */
.client-tools{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.client-tools input{flex:1;border:1px solid var(--line);border-radius:14px;padding:13px 15px;background:#fff;font-weight:700}
.clients-page .row-actions{flex-wrap:wrap}
@media(max-width:760px){.client-tools{align-items:stretch;flex-direction:column}.clients-page .row-actions{flex-direction:column;align-items:flex-start}}

/* ======================================================================
   >>> v19-mobile-agenda.css
   ====================================================================== */
.agenda-card-actions{display:flex!important;gap:4px;flex-wrap:wrap;margin-top:5px;white-space:normal!important}
.mini-action{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:rgba(255,255,255,.72);color:inherit;text-decoration:none;font-size:10px;font-weight:900;padding:4px 7px;line-height:1;cursor:pointer}
.mini-action.gps{background:#1a73e8;color:#fff}
.mini-action.report{background:#fff;color:#174ea6}
.mobile-job-actions{display:flex;gap:8px;flex-wrap:wrap;background:#f8fbff;border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px}
.mobile-job-actions a,.mobile-job-actions button{text-decoration:none;text-align:center}
@media(max-width:760px){
  .gcal-topbar{gap:8px}
  .gcal-nav{display:grid;grid-template-columns:1fr 1fr 1fr;width:100%}
  .gcal-nav button{padding:9px 6px;font-size:11px}
  .gcal-shell{border-radius:16px}
  .gcal-header{grid-template-columns:46px repeat(7,138px)}
  .gcal-body{grid-template-columns:46px repeat(7,138px);height:620px}
  .gcal-day-head{padding:9px 5px}
  .gcal-event{left:3px;right:3px;padding:6px;border-radius:9px}
  .gcal-event b{font-size:11px}
  .gcal-event span,.gcal-event small{font-size:10px}
  .mini-action{font-size:9px;padding:4px 6px}
  .mobile-job-actions{display:grid;grid-template-columns:1fr 1fr}
  .mobile-job-actions a,.mobile-job-actions button{width:100%}
}

/* ======================================================================
   >>> v20-logo.css
   ====================================================================== */
.brand-logo-img{width:42px;height:42px;object-fit:contain;border-radius:10px;background:#fff}
.login-brand .brand-logo-img{width:54px;height:54px}
.brand .brand-logo-img{flex:0 0 auto}
.report-logo-img{height:58px;max-width:260px;object-fit:contain}
.contract-logo.official{border:0!important;padding:0!important;margin:0 auto 30px!important;width:auto!important;text-align:center}
.contract-logo-img{height:76px;max-width:360px;object-fit:contain}
@media(max-width:700px){
  .brand-logo-img{width:36px;height:36px}
  .login-brand .brand-logo-img{width:46px;height:46px}
  .report-logo-img{height:46px;max-width:220px}
  .contract-logo-img{height:58px;max-width:260px}
}

/* ======================================================================
   >>> v21-search.css
   ====================================================================== */
.agenda-searchbar{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;margin-bottom:12px}
.agenda-searchbar input,.agenda-searchbar select{border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:#f8fbff;font-weight:700;color:var(--ink)}
.agenda-searchbar input{min-width:220px}
.report-searchbar{margin-top:0}
@media(max-width:760px){.agenda-searchbar{grid-template-columns:1fr}.agenda-searchbar input{min-width:0;width:100%}}
.report-bulkbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin:0 0 14px}
.report-bulkbar span{font-size:13px;color:var(--muted)}
.report-bulkbar span b{color:var(--ink)}
.danger-soft{color:#b84338!important;border-color:#f0c1bb!important;background:#fff7f5!important}

/* ======================================================================
   >>> v25-agenda-compact.css
   ====================================================================== */
.agenda-compact-page{display:grid;gap:14px}
.compact-google{border-radius:16px;padding:10px 12px}
.compact-search{margin:0}
.compact-topbar{align-items:flex-start}
.compact-people{max-width:100%;overflow:auto;padding-bottom:3px}
.compact-people button{padding:7px 11px;font-size:12px}
.agenda-compact-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px}
.agenda-compact-day{background:#fff;border:1px solid #dfe7f1;border-radius:18px;overflow:hidden;box-shadow:0 10px 22px rgba(15,79,121,.055);min-height:174px}
.agenda-compact-day.active{border-color:#2d73ff;box-shadow:0 14px 30px rgba(45,115,255,.14)}
.agenda-compact-head{width:100%;border:0;border-bottom:1px solid #eef3f8;background:linear-gradient(180deg,#f9fbff,#fff);padding:10px 9px;text-align:left;cursor:pointer;color:#1f2937}
.agenda-compact-head span{display:block;color:#667085;font-size:11px;text-transform:capitalize;font-weight:800}
.agenda-compact-head b{display:inline-block;margin-top:2px;font-size:24px;line-height:1;color:#101828}
.agenda-compact-head small{float:right;margin-top:5px;color:#2d73ff;font-weight:800;font-size:11px}
.agenda-compact-list{display:grid;gap:6px;padding:8px}
.agenda-compact-event{display:grid;grid-template-columns:49px minmax(0,1fr) 86px 72px;align-items:center;gap:7px;width:100%;border:1px solid #e7eef7;background:#fff;border-left:4px solid #2d73ff;border-radius:12px;padding:8px;text-align:left;cursor:pointer;color:#172033;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.agenda-compact-event:hover{background:#f8fbff;border-color:#bfd3ff;transform:translateY(-1px)}
.agenda-compact-event.mini{grid-template-columns:42px minmax(0,1fr);padding:6px 7px;border-radius:10px}
.agenda-compact-event.mini .agenda-person,.agenda-compact-event.mini .agenda-state{display:none}
.agenda-time{font-size:13px;font-weight:900;color:#174ea6;line-height:1.05}
.agenda-time small{display:block;color:#667085;font-size:10px;font-weight:800;margin-top:2px}
.agenda-main{min-width:0}
.agenda-main b,.agenda-main small,.agenda-person,.agenda-state{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agenda-main b{font-size:13px;color:#101828}
.agenda-main small{font-size:11px;color:#667085;margin-top:1px}
.agenda-person{font-size:11px;color:#344054;font-weight:800}
.agenda-state{justify-self:end;border-radius:999px;background:#edf4ff;color:#174ea6;font-size:10px;font-weight:900;padding:5px 7px}
.agenda-compact-event.active{border-left-color:#2d73ff;background:#edf4ff}
.agenda-compact-event.todo{border-left-color:#f59e0b;background:#fffbeb}
.agenda-compact-event.todo .agenda-state{background:#fef3c7;color:#92400e}
.agenda-compact-event.late{border-left-color:#ef4444;background:#fff5f5}
.agenda-compact-event.late .agenda-state{background:#fee2e2;color:#991b1b}
.agenda-compact-event.done{border-left-color:#22c55e;background:#f0fdf4}
.agenda-compact-event.done .agenda-state{background:#dcfce7;color:#166534}
.agenda-empty-slot,.agenda-more,.agenda-add-line{border:1px dashed #d7e3f0;background:#fbfdff;color:#667085;border-radius:10px;padding:8px;font-weight:800;cursor:pointer}
.agenda-add-line{color:#2d73ff;background:#f4f8ff}
.agenda-compact-bottom{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:14px}
.agenda-day-focus,.agenda-help-card{border-radius:18px}
.agenda-focus-list{display:grid;gap:8px}
.compact-quick{margin-top:14px;border-top:1px solid #eef3f8;padding-top:12px}
.compact-quick h4{margin:0 0 8px;color:#344054}
.compact-quick>div{display:flex;gap:8px;flex-wrap:wrap}
.compact-slot{border:1px solid #dfe7f1;background:#fff;border-radius:999px;padding:8px 11px;font-weight:900;cursor:pointer;color:#174ea6}
.compact-slot b{margin-left:6px}
.agenda-help-card{display:grid;gap:8px;align-content:start}
.agenda-help-card h3{margin:0 0 6px}
.agenda-help-card p{margin:0;color:#475467;font-weight:700}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}
.dot.blue{background:#2d73ff}.dot.orange{background:#f59e0b}.dot.red{background:#ef4444}.dot.green{background:#22c55e}

@media(max-width:1180px){
  .agenda-compact-grid{overflow:auto;grid-template-columns:repeat(7,185px);padding-bottom:4px}
  .agenda-compact-bottom{grid-template-columns:1fr}
}
@media(max-width:760px){
  .agenda-compact-page{gap:11px}
  .agenda-toolbar{align-items:stretch}
  .agenda-toolbar .primary{width:100%}
  .compact-topbar .gcal-nav{grid-template-columns:1fr 1fr 1fr}
  .agenda-compact-grid{grid-template-columns:1fr;overflow:visible}
  .agenda-compact-day{min-height:0}
  .agenda-compact-day:not(.active) .agenda-compact-list{display:none}
  .agenda-compact-event{grid-template-columns:46px minmax(0,1fr);gap:8px}
  .agenda-person,.agenda-state{display:none}
  .agenda-main b{font-size:14px}
  .agenda-main small{font-size:12px}
  .compact-search{grid-template-columns:1fr}
  .compact-search input,.compact-search select,.compact-search button{width:100%}
}

/* ======================================================================
   >>> v26-save.css
   ====================================================================== */
.sync [data-save-now]{background:#1d4ed8!important;color:#fff!important;border-color:#1d4ed8!important}
.sync [data-save-now]:hover{filter:brightness(.96)}

/* ======================================================================
   >>> v32-agenda-google.css
   ====================================================================== */
.agenda-v32-page{display:grid;gap:14px}
.agenda-v32-toolbar .primary{white-space:nowrap}
.agenda-v32-google{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #dfe7f1;border-radius:18px;padding:12px 14px;box-shadow:0 10px 24px rgba(15,79,121,.06)}
.agenda-v32-google div{margin-right:auto;display:grid;gap:2px}
.agenda-v32-google b{color:#202124}
.agenda-v32-google span{font-size:13px;color:#5f6368}
.agenda-v32-search{margin:0}
.agenda-v32-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.agenda-v32-nav,.agenda-v32-people{display:flex;gap:8px;flex-wrap:wrap}
.agenda-v32-people{max-width:100%;overflow:auto;padding-bottom:2px}
.agenda-v32-people button,.agenda-v32-fixed-person{display:inline-flex;align-items:center;gap:7px;border:1px solid #dadce0;background:#fff;color:#3c4043;border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer}
.agenda-v32-people button span{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--soft)}
.agenda-v32-people button.active{background:#1a73e8;color:#fff;border-color:#1a73e8}
.agenda-v32-people button.active span{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.28)}
.agenda-v32-fixed-person{cursor:default}
.agenda-v32-alerts{display:grid;gap:10px}
.agenda-v32-board{background:#fff;border:1px solid #dadce0;border-radius:22px;overflow:auto;box-shadow:0 14px 34px rgba(60,64,67,.08);max-height:74vh}
.agenda-v32-header{display:grid;grid-template-columns:76px repeat(7,minmax(245px,1fr));min-width:1791px;position:sticky;top:0;z-index:6;background:#fff;border-bottom:1px solid #dadce0}
.agenda-v32-corner{display:flex;align-items:end;justify-content:flex-end;padding:0 9px 9px 0;color:#70757a;font-size:10px;font-weight:800}
.agenda-v32-day-head{border:0;border-left:1px solid #edf0f3;background:#fff;padding:12px 8px;text-align:center;cursor:pointer;color:#3c4043}
.agenda-v32-day-head:hover{background:#f8fbff}
.agenda-v32-day-head span{display:block;font-size:12px;text-transform:capitalize;color:#5f6368;font-weight:800}
.agenda-v32-day-head b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;font-size:18px;margin:4px 0;color:#202124}
.agenda-v32-day-head small{display:block;color:#5f6368;font-size:11px;font-weight:800}
.agenda-v32-day-head.active b{background:#1a73e8;color:#fff}
.agenda-v32-body{display:grid;grid-template-columns:76px repeat(7,minmax(245px,1fr));min-width:1791px;height:var(--grid-height);position:relative}
.agenda-v32-hours{display:grid;grid-template-rows:repeat(var(--hour-count),1fr);background:#fff;border-right:1px solid #dadce0}
.agenda-v32-hours div{font-size:11px;color:#70757a;text-align:right;padding:0 8px 0 0;transform:translateY(-7px);font-weight:700}
.agenda-v32-day-col{position:relative;border-left:1px solid #edf0f3;background:linear-gradient(to bottom,#edf0f3 1px,transparent 1px);background-size:100% calc(100% / var(--hour-count))}
.agenda-v32-day-col.active{background-color:#f8fbff}
.agenda-v32-slot{display:block;width:100%;height:calc(100% / var(--hour-count));border:0;background:transparent;cursor:pointer}
.agenda-v32-slot:hover{background:rgba(26,115,232,.055)}
.agenda-v32-event{position:absolute;top:var(--top);left:calc(var(--left) + 5px);width:calc(var(--width) - 10px);height:max(42px,var(--height));border:1px solid color-mix(in srgb,var(--accent),#fff 35%);border-left:6px solid var(--accent);background:linear-gradient(180deg,color-mix(in srgb,var(--soft),#fff 16%),var(--soft));color:var(--ink);border-radius:13px;padding:8px 9px;overflow:hidden;cursor:pointer;box-shadow:0 3px 10px rgba(60,64,67,.18);display:grid;align-content:start;gap:3px}
.agenda-v32-event:hover{filter:brightness(.985);box-shadow:0 6px 16px rgba(60,64,67,.24);z-index:5}
.agenda-v32-event-top{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0}
.agenda-v32-event-top b{font-size:11px;line-height:1.1;white-space:nowrap}
.agenda-v32-event strong,.agenda-v32-event small,.agenda-v32-event em,.agenda-v32-event-foot span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.agenda-v32-event strong{font-size:13px;line-height:1.15;color:var(--ink)}
.agenda-v32-event small{font-size:11px;font-weight:900;opacity:.92}
.agenda-v32-event em{font-style:normal;font-size:10px;opacity:.86}
.agenda-v32-event-foot{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:10px;font-weight:800;min-width:0}
.agenda-v32-event-foot i{font-style:normal;background:rgba(255,255,255,.65);border-radius:999px;padding:2px 6px;white-space:nowrap}
.agenda-v32-person-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px rgba(255,255,255,.8);margin-left:2px}
.agenda-v32-actions{display:none;gap:4px;flex-wrap:wrap;margin-top:3px}
.agenda-v32-event:hover .agenda-v32-actions{display:flex}
.agenda-v32-actions a,.agenda-v32-actions button{border:0;text-decoration:none;border-radius:999px;background:rgba(255,255,255,.78);color:var(--ink);font-size:10px;font-weight:900;padding:3px 6px;line-height:1;cursor:pointer}
.agenda-v32-actions a:hover,.agenda-v32-actions button:hover{background:#fff}
.agenda-v32-event.compact{gap:1px;padding:7px 8px}
.agenda-v32-event.compact em,.agenda-v32-event.compact .agenda-v32-actions{display:none}
.agenda-v32-event.tiny{display:flex;flex-direction:column;gap:1px;padding:6px 7px;min-height:42px}
.agenda-v32-event.tiny .agenda-v32-event-top span,.agenda-v32-event.tiny small,.agenda-v32-event.tiny em,.agenda-v32-event.tiny .agenda-v32-actions{display:none}
.agenda-v32-event.tiny strong{font-size:12px}
.agenda-v32-event.tiny .agenda-v32-event-foot span{display:none}
.agenda-v32-source{color:#475569!important;background:rgba(255,255,255,.44);border-radius:8px;padding:2px 5px;margin-top:1px}
.agenda-v32-day-detail{background:#fff;border:1px solid #dbe4ef;border-radius:22px;padding:16px;box-shadow:0 14px 34px rgba(60,64,67,.07)}
.agenda-v32-detail-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px;margin-top:12px}
.agenda-v32-detail-group{border:1px solid #e6edf5;border-radius:18px;overflow:hidden;background:#fbfdff}
.agenda-v32-detail-group>header{display:flex;align-items:center;gap:9px;padding:12px 13px;background:linear-gradient(90deg,var(--soft),#fff);border-bottom:1px solid #edf2f7}
.agenda-v32-detail-group>header span{width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(255,255,255,.7)}
.agenda-v32-detail-group>header b{color:#0f172a}
.agenda-v32-detail-group>header small{margin-left:auto;color:#64748b;font-weight:900}
.agenda-v32-detail-row{position:relative;display:grid;grid-template-columns:64px 1fr auto;gap:11px;align-items:center;padding:12px 13px;border-top:1px solid #edf2f7;background:#fff;cursor:pointer}
.agenda-v32-detail-row:hover{background:#f8fbff}
.agenda-v32-detail-time b{display:block;color:#0f172a;font-size:15px}
.agenda-v32-detail-time span{display:block;color:#64748b;font-size:12px;margin-top:2px}
.agenda-v32-detail-main{min-width:0}
.agenda-v32-detail-main strong{display:block;color:#0f172a;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agenda-v32-detail-main small{display:block;color:#475569;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agenda-v32-detail-main em{display:block;color:#64748b;font-style:normal;font-size:12px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agenda-v32-detail-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:210px}
.agenda-v32-detail-actions a,.agenda-v32-detail-actions button{border:0;border-radius:999px;background:#eef4ff;color:#174ea6;text-decoration:none;font-size:11px;font-weight:900;padding:7px 9px;cursor:pointer}
.agenda-v32-detail-row>i{position:absolute;right:12px;top:7px;font-style:normal;font-size:10px;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.agenda-v32-event.late{box-shadow:inset 0 0 0 1px rgba(217,48,37,.22),0 2px 8px rgba(60,64,67,.18)}
.agenda-v32-event.late .agenda-v32-event-foot i{background:#fee2e2;color:#991b1b}
.agenda-v32-event.done{opacity:.74}
.agenda-v32-event.done .agenda-v32-event-foot i{background:#dcfce7;color:#166534}
.agenda-v32-event.todo .agenda-v32-event-foot i{background:#fef3c7;color:#92400e}
.agenda-v32-event.active .agenda-v32-event-foot i{background:#dbeafe;color:#174ea6}
.agenda-v32-legend{display:flex;gap:9px;flex-wrap:wrap;color:#475467;font-size:12px;font-weight:800}
.agenda-v32-legend span{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #e6edf5;border-radius:999px;padding:6px 10px}
.agenda-v32-legend i{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--soft)}
.agenda-v32-mobile-days{display:none}

@supports not (color:color-mix(in srgb,#000,#fff)){
  .agenda-v32-event{border-color:#d7e3f0}
}

@media(max-width:1180px){
  .agenda-v32-header,.agenda-v32-body{grid-template-columns:58px repeat(7,215px);min-width:1563px}
  .agenda-v32-corner{font-size:9px}
}
@media(max-width:760px){
  .agenda-v32-page{gap:11px}
  .agenda-v32-toolbar{align-items:stretch}
  .agenda-v32-toolbar .primary{width:100%}
  .agenda-v32-google{align-items:stretch;flex-direction:column}
  .agenda-v32-google div{margin-right:0}
  .agenda-v32-nav{display:grid;grid-template-columns:1fr 1fr 1fr;width:100%}
  .agenda-v32-nav button{padding:9px 6px;font-size:11px}
  .agenda-v32-search{grid-template-columns:1fr}
  .agenda-v32-search input,.agenda-v32-search select,.agenda-v32-search button{width:100%}
  .agenda-v32-mobile-days{display:flex;gap:8px;overflow:auto;padding:2px 1px 8px;scroll-snap-type:x mandatory}
  .agenda-v32-mobile-days button{min-width:82px;border:1px solid #dbe4ef;background:#fff;border-radius:16px;padding:9px 8px;text-align:center;scroll-snap-align:start;color:#334155}
  .agenda-v32-mobile-days button.active{background:#1a73e8;border-color:#1a73e8;color:#fff;box-shadow:0 8px 18px rgba(26,115,232,.24)}
  .agenda-v32-mobile-days span{display:block;font-size:11px;font-weight:900;text-transform:capitalize}
  .agenda-v32-mobile-days b{display:block;font-size:20px;line-height:1.05;margin:2px 0}
  .agenda-v32-mobile-days small{display:block;font-size:10px;font-weight:900;opacity:.86}
  .agenda-v32-board{display:none}
  .agenda-v32-header,.agenda-v32-body{grid-template-columns:46px repeat(7,190px);min-width:1376px}
  .agenda-v32-body{height:calc(var(--grid-height) - 28px)}
  .agenda-v32-day-head{padding:9px 5px}
  .agenda-v32-day-head b{width:30px;height:30px;font-size:16px}
  .agenda-v32-hours div{font-size:10px;padding-right:5px}
  .agenda-v32-event{left:calc(var(--left) + 4px);width:calc(var(--width) - 8px);padding:6px;border-radius:10px}
  .agenda-v32-event strong{font-size:11px}
  .agenda-v32-event small,.agenda-v32-event em,.agenda-v32-event-foot{font-size:9px}
  .agenda-v32-actions{display:flex}
  .agenda-v32-actions a,.agenda-v32-actions button{font-size:9px;padding:3px 5px}
  .agenda-v32-day-detail{padding:12px;border-radius:16px}
  .agenda-v32-day-detail .card-head{align-items:flex-start;gap:10px}
  .agenda-v32-day-detail .card-head .primary{width:auto;min-width:120px}
  .agenda-v32-detail-groups{grid-template-columns:1fr}
  .agenda-v32-detail-row{grid-template-columns:54px 1fr;align-items:start;border-radius:14px;margin-bottom:8px;border:1px solid #e2e8f0}
  .agenda-v32-detail-actions{grid-column:1 / -1;justify-content:flex-start;max-width:none;padding-left:65px}
  .agenda-v32-detail-row>i{position:static;grid-column:1 / -1;padding-left:65px}
  .agenda-v32-legend{display:none}
}

/* ======================================================================
   >>> v33-agenda-people.css
   ====================================================================== */
.agenda-people-manager{display:grid;gap:10px;margin:14px 0}
.agenda-person-row{display:grid;grid-template-columns:auto minmax(0,1fr) 58px auto auto;align-items:center;gap:10px;border:1px solid #e4ebf4;background:#fff;border-radius:16px;padding:10px 12px}
.agenda-person-dot{width:14px;height:14px;border-radius:50%;background:var(--person-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--person-color),#fff 78%)}
.agenda-person-row b,.agenda-person-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agenda-person-row b{color:#172033}
.agenda-person-row small{color:#667085;font-size:12px}
.agenda-person-row input[type=color]{width:46px;height:34px;border:0;background:transparent;padding:0;cursor:pointer}
.agenda-add-person-card{border:1px dashed #c8d7ea;background:#f8fbff;border-radius:18px;padding:14px;margin-top:8px}
.agenda-add-person-card h3{margin:0 0 10px;color:#172033}
.assign-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px;margin:14px 0}
.assign-person-pill{display:grid;grid-template-columns:auto auto minmax(0,1fr);grid-template-areas:"check dot name" "check dot role";align-items:center;column-gap:9px;border:1px solid #dfe7f1;background:#fff;border-radius:16px;padding:11px;cursor:pointer}
.assign-person-pill:hover{border-color:var(--person-color);background:#f8fbff}
.assign-person-pill input{grid-area:check;accent-color:var(--person-color)}
.assign-person-pill span{grid-area:dot;width:13px;height:13px;border-radius:50%;background:var(--person-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--person-color),#fff 78%)}
.assign-person-pill b{grid-area:name;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#172033}
.assign-person-pill small{grid-area:role;color:#667085;font-size:12px}
.assign-add-person{width:100%;margin-top:2px}
.agenda-assignment-simple .multi-techs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}
.agenda-assignment-simple .tech-pill{display:none}
.tiny-full{width:100%;margin-top:8px}
.agenda-v32-toolbar .btn-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

@supports not (color:color-mix(in srgb,#000,#fff)){
  .agenda-person-dot,.assign-person-pill span{box-shadow:0 0 0 4px #eef3f8}
}

@media(max-width:760px){
  .agenda-person-row{grid-template-columns:auto minmax(0,1fr) 50px;grid-template-areas:"dot info color" "dot edit edit"}
  .agenda-person-row .agenda-person-dot{grid-area:dot}
  .agenda-person-row div{grid-area:info}
  .agenda-person-row input[type=color]{grid-area:color}
  .agenda-person-row button{width:100%}
  .assign-grid{grid-template-columns:1fr}
  .agenda-v32-toolbar .btn-row{width:100%;display:grid;grid-template-columns:1fr}
}

/* ======================================================================
   >>> v34-overview-agenda.css
   ====================================================================== */
/* V34 - vue d'ensemble lisible façon planning d'équipe */
.v34-home .toolbar h1{letter-spacing:-.03em}
.v34-agenda-card{overflow:hidden}
.v34-person-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.v34-person-card{border:1px solid rgba(15,23,42,.08);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.96));box-shadow:0 14px 36px rgba(15,23,42,.06);overflow:hidden}
.v34-person-card>header{display:flex;align-items:center;gap:10px;padding:14px 14px 10px;border-bottom:1px solid rgba(15,23,42,.06);background:linear-gradient(90deg,color-mix(in srgb,var(--v34-color) 15%,white),white)}
.v34-person-card>header>span{width:14px;height:14px;border-radius:999px;background:var(--v34-color);box-shadow:0 0 0 5px color-mix(in srgb,var(--v34-color) 16%,transparent)}
.v34-person-card>header b{display:block;color:#0f172a}
.v34-person-card>header small{display:block;color:#64748b;font-size:12px}
.v34-person-card>div{display:flex;flex-direction:column;gap:9px;padding:12px}
.v34-mini-rdv{position:relative;display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;border:1px solid rgba(15,23,42,.08);border-left:5px solid var(--v34-color);border-radius:16px;padding:10px;background:#fff;cursor:pointer;transition:.18s ease;min-height:74px}
.v34-mini-rdv:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(15,23,42,.08)}
.v34-mini-time b{display:block;color:#0f172a;font-size:14px}
.v34-mini-time span{display:block;color:#64748b;font-size:12px;margin-top:2px}
.v34-mini-main{min-width:0}
.v34-mini-main strong{display:block;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v34-mini-main small{display:block;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
.v34-mini-main em{display:block;color:var(--v34-color);font-style:normal;font-size:11px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v34-mini-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;max-width:150px}
.v34-mini-actions a,.v34-mini-actions button{border:0;border-radius:999px;background:#f1f5f9;color:#0f172a;text-decoration:none;padding:6px 8px;font-size:11px;font-weight:800;cursor:pointer}
.v34-mini-actions a:hover,.v34-mini-actions button:hover{background:color-mix(in srgb,var(--v34-color) 14%,#f1f5f9);color:var(--v34-color)}
.v34-mini-status{position:absolute;right:10px;top:7px;font-size:10px;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.v34-next-card .v34-mini-rdv{margin-bottom:9px}
.agenda-v32-source{color:#475569!important;background:rgba(255,255,255,.38);border-radius:8px;padding:2px 5px;margin-top:2px}

@media(max-width:760px){
  .v34-person-grid{grid-template-columns:1fr}
  .v34-mini-rdv{grid-template-columns:52px 1fr;align-items:start}
  .v34-mini-actions{grid-column:1 / -1;justify-content:flex-start;max-width:none;padding-left:62px}
  .v34-mini-status{position:static;grid-column:1 / -1;padding-left:62px}
}

/* ======================================================================
   >>> v35-team-overview.css
   ====================================================================== */
/* V35 - équipe complète visible en vue d'ensemble */
.v35-team-card{overflow:hidden}
.v35-team-card .card-head{align-items:flex-start;gap:14px}
.v35-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.v35-person{border:1px solid rgba(15,23,42,.08);border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.v35-person>header{display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid #edf2f7;background:linear-gradient(90deg,color-mix(in srgb,var(--v35-color) 14%,white),#fff)}
.v35-person>header>span{width:14px;height:14px;border-radius:50%;background:var(--v35-color);box-shadow:0 0 0 5px color-mix(in srgb,var(--v35-color) 16%,transparent)}
.v35-person>header b{display:block;color:#0f172a}
.v35-person>header small{display:block;color:#64748b;font-size:12px;font-weight:800}
.v35-person>div{display:flex;flex-direction:column;gap:9px;padding:12px}
.v35-person.empty{background:linear-gradient(180deg,#fff,#f8fafc)}
.v35-empty{display:grid;gap:7px;border:1px dashed color-mix(in srgb,var(--v35-color) 35%,#cbd5e1);border-radius:16px;padding:14px;background:color-mix(in srgb,var(--v35-color) 8%,#fff)}
.v35-empty b{color:#0f172a}
.v35-empty small{color:#64748b}
.v35-job{position:relative;display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;border:1px solid #e2e8f0;border-left:5px solid var(--v35-color);border-radius:16px;padding:10px;background:#fff;cursor:pointer}
.v35-job:hover{box-shadow:0 10px 22px rgba(15,23,42,.08);transform:translateY(-1px)}
.v35-time b{display:block;color:#0f172a;font-size:14px}
.v35-time span{display:block;color:#64748b;font-size:12px}
.v35-main{min-width:0}
.v35-main strong,.v35-main small,.v35-main em{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v35-main strong{color:#0f172a}
.v35-main small{color:#475569;margin-top:3px}
.v35-main em{color:#64748b;font-size:12px;font-style:normal;margin-top:4px}
.v35-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;max-width:150px}
.v35-actions a,.v35-actions button{border:0;border-radius:999px;background:#eef4ff;color:#174ea6;text-decoration:none;font-size:11px;font-weight:900;padding:6px 8px;cursor:pointer}
.v35-job>i{position:absolute;right:10px;top:7px;font-style:normal;color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.v35-client-note{margin-top:12px}

@media(max-width:760px){
  .v35-team-grid{grid-template-columns:1fr}
  .v35-job{grid-template-columns:52px 1fr;align-items:start}
  .v35-actions{grid-column:1 / -1;justify-content:flex-start;max-width:none;padding-left:62px}
  .v35-job>i{position:static;grid-column:1 / -1;padding-left:62px}
}

/* ======================================================================
   >>> v40-maintenance-sheet.css
   ====================================================================== */
.maintenance-sheet-page .maintenance-hero{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
  gap:18px;
  align-items:stretch;
}
.maintenance-sheet-page .maintenance-highlight{
  background:linear-gradient(135deg,#0f4c81,#1a73e8);
  color:#fff;
  border-radius:24px;
  padding:24px;
  box-shadow:0 18px 45px rgba(26,115,232,.22);
}
.maintenance-sheet-page .maintenance-highlight h2{
  margin:0 0 8px;
  font-size:28px;
}
.maintenance-sheet-page .maintenance-highlight p{
  margin:0;
  opacity:.92;
  line-height:1.5;
}
.maintenance-sheet-page .maintenance-highlight .btn-row{margin-top:18px}
.maintenance-sheet-page .maintenance-highlight .secondary{
  background:rgba(255,255,255,.16);
  color:#fff;
  border-color:rgba(255,255,255,.3);
}
.maintenance-price-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}
.maintenance-price-card{
  border:1px solid #e5ecf6;
  border-radius:18px;
  background:#fff;
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.maintenance-price-card strong{
  color:#0f4c81;
  font-size:17px;
}
.maintenance-price-card b{
  color:#c5162e;
  font-size:24px;
}
.maintenance-price-card small{
  color:#64748b;
  line-height:1.35;
}
.maintenance-price-card ul{
  margin:0;
  padding-left:18px;
  color:#334155;
  font-size:13px;
  line-height:1.45;
}
.maintenance-price-card.premium{
  border-color:#9cc5ff;
  background:linear-gradient(180deg,#f7fbff,#fff);
}
.maintenance-sheet-form .price-preview{
  border:1px dashed #9cc5ff;
  background:#f5f9ff;
  border-radius:16px;
  padding:14px;
}
.maintenance-sheet-form .price-preview b{
  display:block;
  color:#0f4c81;
  font-size:24px;
}
.maintenance-sheet-form .price-preview span{
  color:#64748b;
  font-size:13px;
}
.maintenance-checks{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:10px;
}
.maintenance-checks label{
  display:flex;
  gap:9px;
  align-items:flex-start;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:10px;
  background:#fff;
}
.maintenance-doc{
  background:#fff;
  color:#111827;
  padding:26px;
  border-radius:18px;
  overflow:visible;
}
.maintenance-doc header{
  display:flex;
  justify-content:space-between;
  gap:16px;
  border-bottom:3px solid #1a73e8;
  padding-bottom:14px;
  margin-bottom:18px;
}
.maintenance-doc header img{
  max-width:210px;
  object-fit:contain;
}
.maintenance-doc h1{
  margin:0;
  color:#0f4c81;
  font-size:26px;
}
.maintenance-doc h2{
  color:#0f4c81;
  font-size:18px;
  margin-top:18px;
}
.maintenance-doc .doc-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.maintenance-doc .doc-box{
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:12px;
}
.maintenance-doc .doc-price{
  margin-top:16px;
  padding:14px;
  border-radius:14px;
  background:#f5f9ff;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  flex-wrap:wrap;
  break-inside:avoid;
  page-break-inside:avoid;
}
.maintenance-doc .doc-price span{
  min-width:0;
  flex:1 1 260px;
}
.maintenance-doc .doc-price b{
  color:#c5162e;
  font-size:24px;
  white-space:nowrap;
  margin-left:auto;
}
.maintenance-nav-badge{
  background:#eaf2ff;
  color:#1a73e8;
  border-radius:999px;
  padding:2px 7px;
  font-size:11px;
  margin-left:auto;
}
.maintenance-lines-editor{
  display:grid;
  gap:10px;
}
.maintenance-lines-head,
.v42-maint-line-row{
  display:grid;
  grid-template-columns:1.25fr 1.45fr .45fr .7fr 1.5fr auto;
  gap:8px;
  align-items:end;
}
.maintenance-lines-head{
  color:#64748b;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}
.v42-maint-line-row{
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:#f8fbff;
}
.v42-maint-line-row label{
  margin:0;
}
.maintenance-doc-lines{
  width:100%;
  border-collapse:collapse;
  margin:8px 0 16px;
  font-size:12px;
}
.maintenance-doc-lines th,
.maintenance-doc-lines td{
  border:1px solid #e2e8f0;
  padding:8px;
  vertical-align:top;
}
.maintenance-doc-lines th{
  background:#f1f5f9;
  color:#0f4c81;
  text-align:left;
}
.maintenance-doc-lines td:nth-child(n+2),
.maintenance-doc-lines th:nth-child(n+2){
  text-align:right;
  white-space:nowrap;
}
@media(max-width:860px){
  .maintenance-sheet-page .maintenance-hero,
  .maintenance-doc .doc-grid{grid-template-columns:1fr}
  .maintenance-doc header{flex-direction:column}
  .maintenance-lines-head{
    display:none;
  }
  .v42-maint-line-row{
    grid-template-columns:1fr;
    gap:10px;
  }
  .v42-maint-line-row .danger-btn{
    justify-self:start;
  }
}
@media print{
  .maintenance-doc{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:14mm 14mm 18mm!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .maintenance-doc .doc-price{
    margin-top:14px!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
}
