:root{--ink:#16271f;--muted:#728078;--line:#e1e6df;--accent:#d9f77c;background:#f5f5f0;color:var(--ink)}body{background:radial-gradient(ellipse at 85% 0,#e7eddf80,transparent 45%),#f5f5f0}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{min-height:42px;font-weight:600;transition:background .16s,border-color .16s,box-shadow .16s}button:active{transform:translateY(1px)}button.primary{background:#173c2a;border-color:#173c2a;box-shadow:0 3px 7px #173c2a0a}button.primary:hover{background:#245438}button:disabled{cursor:default;opacity:.5}input,textarea,select{min-height:44px;border-color:#dbe2d8;border-radius:10px}input:focus,textarea:focus,select:focus{outline:2px solid #b2c894;outline-offset:2px}h2,h3{color:#182b21}h2{font-size:clamp(28px,3vw,42px);font-weight:600;letter-spacing:-1.5px}.topbar{background:#11281d;height:88px;padding:0 4.5vw;border-bottom:1px solid #ffffff12}.top-label{font-size:9px;letter-spacing:2.5px;color:#b8c6b6}.profile .avatar{background:#deebcd;color:#193623}.profile #logout-account{background:#ffffff09;border-color:#ffffff26;color:#e5eddf;font-size:11px;min-height:34px}.profile #logout-account:hover{background:#ffffff1b}.pilot{color:#bac8b3}#save-status{font-size:10px;color:#c9dbbd}#navigation{background:#fcfdf9;justify-content:flex-start;padding:0 4vw;gap:8px;box-shadow:0 6px 18px #18322104}#navigation button{font-size:11px;letter-spacing:.15px;color:#66776c;padding:19px 13px;min-height:60px}#navigation button[aria-current=page]{color:#183d29;border-bottom:3px solid #6c8f47;background:linear-gradient(0deg,#eef4e6,transparent)}#content{max-width:1480px;padding:42px 4vw 70px}.page-heading{margin-bottom:28px}.page-heading .eyebrow{font-size:9px;letter-spacing:2.6px}.page-heading p{font-size:13px}.card{border-color:#e0e6dc;border-radius:18px;padding:26px;background:#ffffffed;box-shadow:0 7px 28px #1d382a04}.card h3{letter-spacing:-.3px}.section-row{padding:18px 0;align-items:center}.badge{border-radius:7px;letter-spacing:.3px;font-size:10px;background:#edf2e9;color:#5b725e}.badge.green{background:#e8f0dd;color:#3d5b29}.notice{background:#edf2e8;border:1px solid #e1e8d9;color:#5e715e}.table-wrap{border:1px solid #e3e8df;border-radius:12px;overflow:auto;-webkit-overflow-scrolling:touch;background:#fff}table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}th{background:#f2f5ee;color:#657661;font-size:10px;letter-spacing:.4px;position:sticky;top:0;z-index:1;white-space:nowrap;padding:15px 16px}td{padding:16px;vertical-align:middle}tbody tr:nth-child(even){background:#fafbf7}tbody tr:hover{background:#f0f5e9}tbody tr:last-child td{border-bottom:0}.table-wrap:focus-within{outline:1px solid #bdcfa5}.project-tabs{gap:6px;border-bottom:1px solid #dfe5d8;padding:0 0 12px;flex-wrap:nowrap}.project-tabs button{min-height:42px;border-radius:9px;padding:10px 17px}.project-tabs button.active{background:#1a3c2a;box-shadow:0 3px 8px #19372414}.project-tile{padding:27px;min-height:292px;border:1px solid #dfe6d8;position:relative;overflow:hidden;box-shadow:0 9px 30px #16372405}.project-tile:before{content:'';height:3px;position:absolute;top:0;left:27px;right:27px;background:#9eb77e}.project-tile h3{font-size:25px;font-weight:600}.project-tile:hover{border-color:#b3c79c;box-shadow:0 14px 35px #1836240d}.project-search{padding:17px 20px;background:#eaf0e3;border-radius:13px;border:1px solid #dde6d2}.project-search input{max-width:620px;border:0;background:#fff}.tile-actions{padding-top:15px;border-top:1px solid #edf0e8}.text-link{font-size:11px}.collection-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:27px}.collection-tools .eyebrow{font-size:9px;color:#75896b}.collection-tools button{background:transparent;font-size:11px;min-height:34px}.project-admin-bar{display:flex;justify-content:flex-end;margin-bottom:15px}.project-admin-bar button{font-size:11px;background:#edf2e7;border-color:#dbe4d0}.danger-zone{margin-top:25px;padding:20px;border:1px solid #e6cfc4;background:#fff9f5;border-radius:12px}.danger-zone h3{color:#894734}.danger-zone p{font-size:12px;color:#826e60}.danger-button{color:#8e3c27;border-color:#dfb7a7;background:white}.project-connections .link-button{background:#fff8;border-color:#dce5d5;font-size:11px}.premium-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.premium-heading .eyebrow{font-size:9px;color:#7b8e70;letter-spacing:2.5px}.premium-heading h2{margin-top:10px;margin-bottom:0}.premium-heading p{font-size:12px;margin:6px 0 0;color:#74856c}.premium-hero{min-height:380px;border-radius:22px;position:relative;isolation:isolate;overflow:hidden;color:white;padding:38px 42px;display:flex;align-items:end;background:#233c2d url('desmor-quebec-grue.png') center 48%/cover no-repeat;box-shadow:0 15px 38px #203b2b12}.premium-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0d271de0 0%,#142d2040 62%,#10281818),linear-gradient(0deg,#102818ad,transparent 65%);z-index:-1}.premium-hero h3{font-family:Manrope,sans-serif;font-size:clamp(26px,3.3vw,45px);line-height:1.12;color:#fff;font-weight:500;letter-spacing:-1.5px;margin:17px 0}.premium-hero p{max-width:380px;font-size:13px;line-height:1.8;color:#e3eadd}.premium-hero .eyebrow{font-size:9px;letter-spacing:2.3px;color:#d6e4c8}.premium-hero button{background:#deedc8;border-color:#deedc8;color:#1c3826;padding:14px 24px;border-radius:8px;font-size:12px;display:flex;justify-content:space-between;gap:35px}.premium-hero-foot{position:absolute;right:35px;bottom:35px;display:flex;flex-direction:column;align-items:end;gap:9px;font-size:9px;letter-spacing:1.9px;color:#eff5e8}.premium-hero-foot span:last-child{height:1px;width:75px;background:#e4eddb99}.premium-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#dfe6d8;border:1px solid #dfe6d8;border-radius:16px;overflow:hidden;margin:25px 0 35px}.premium-metrics button{border:0;border-radius:0;padding:23px 26px;display:flex;flex-direction:column;gap:5px;text-align:left;background:#fffffff2;min-height:114px}.premium-metrics strong{font-family:Manrope,sans-serif;font-size:33px;font-weight:500;letter-spacing:-1px}.premium-metrics span{font-size:10px;font-weight:400;color:#708264}.premium-section-title{display:flex;justify-content:space-between;align-items:center;margin:30px 0 16px}.premium-section-title h3{font-size:19px;font-weight:500;margin:0}.premium-section-title span{font-size:9px;letter-spacing:2px;color:#839276}.premium-launches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.premium-launches button{min-height:172px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:12px;padding:24px;border-color:#dfe6d8;background:#fff;border-radius:15px}.premium-launches button svg{width:24px;height:24px;color:#729159}.premium-launches button strong{font-size:14px;font-weight:600;margin-top:6px}.premium-launches button span{font-size:11px;font-weight:400;color:#7f8d75;line-height:1.6}.premium-launches button:hover{background:#eef4e7;border-color:#a9bf94}.premium-bottom{margin-top:25px;padding:22px 25px;border-radius:14px;border:1px solid #dce5d2;background:#eaf0e3;display:flex;justify-content:space-between;align-items:center;gap:20px}.premium-bottom p{font-size:12px;margin:0;color:#63795b}.premium-bottom .project-connections{margin:0}.app-footer{background:#edf1e7;border-color:#dfe6d8;color:#829075;font-size:10px;letter-spacing:.2px}dialog{background:#fcfdf9;border:1px solid #dce4d2;border-radius:20px;padding:30px;box-shadow:0 25px 100px #142b254d}dialog::backdrop{background:#10241ac2;backdrop-filter:blur(6px)}dialog h2{font-size:27px;line-height:1.3}#toast{background:#173b28;border:1px solid #ffffff22;box-shadow:0 12px 35px #0f2a2440}.timesheet-filters{gap:15px}.timesheet-filters label{min-width:160px}.punch-card{box-shadow:0 15px 45px #173c2a0c}.punch-clock{font-weight:500;color:#25462b}#welcome{background:linear-gradient(0deg,#081b17db 0%,#0b211711 58%,#0b211755 100%),url('desmor-quebec-grue.png') center/cover no-repeat;min-height:100svh;padding:32px 5vw;isolation:isolate}#welcome:after{display:none}.welcome-top{color:#f0f4e8;font-size:10px;letter-spacing:2.3px;position:relative;z-index:1}.welcome-top span:first-child{max-width:none}#welcome .welcome-center{align-items:flex-start;justify-content:flex-end;padding:0 0 7vh;gap:0;flex:1}#welcome .welcome-center h1{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}#welcome .welcome-center .eyebrow{color:#dae5ce;font-size:9px;letter-spacing:2.6px}#welcome .welcome-center p{font-family:Manrope,sans-serif;font-size:clamp(25px,3.5vw,43px);letter-spacing:-1.2px;color:white;margin:14px 0 5px}#welcome .enter{margin-top:25px;border-radius:7px;background:#e1efce;color:#1b3827;border-color:#e1efce;min-width:220px;min-height:57px;font-size:13px}#welcome footer{color:#c9d8bf;font-size:8px;letter-spacing:2px;border-top:1px solid #ffffff24;padding-top:22px}#account-screen{min-height:100svh;background:linear-gradient(90deg,#0d2a1de8,#102a1b88),url('desmor-quebec-grue.png') center/cover;display:grid;place-items:center;padding:30px}#account-screen>.card{width:min(440px,100%);padding:38px;background:#fffefa;box-shadow:0 25px 100px #0003}#account-screen h2{font-size:31px}.plan-workspace{position:relative}.plan-tools{background:#f0f4eb;border-color:#dce6d2;padding:12px;gap:7px;top:0;z-index:9}.plan-tools button{min-height:42px;font-size:11px;border-color:#d9e3cf;touch-action:manipulation}.plan-tools [aria-pressed=true]{background:#1c452d;color:white;border-color:#1c452d}.plan-scroll{position:relative;background:#e5eadf;isolation:isolate}.plan-sheet{position:relative;background:white;min-width:0}.plan-sheet>.plan-preview{position:absolute;inset:0;z-index:0;pointer-events:none;max-width:none}.plan-tile-layer{position:absolute;inset:0;z-index:1;pointer-events:none}.plan-sheet>#plan-canvas{position:absolute;inset:0;z-index:2;background:transparent;max-width:none}.plan-tile-layer canvas{max-width:none;pointer-events:none}.plan-symbol-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:9px}.plan-symbol-palette button{min-height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px;font-size:11px;text-align:center}.plan-symbol-palette canvas{width:64px;height:43px;background:transparent;pointer-events:none}.plan-symbol-palette button:hover{border-color:#7f9f64;background:#eff5e6}.plan-selection-actions{background:#eaf1e2;border:1px solid #dbe6cf;flex-wrap:wrap;font-size:11px}.plan-settings{padding:10px 0}.plan-settings select{font-size:12px}.plan-measurements{background:#eef3e8;border:1px solid #dce7d2}.plan-document-bar>strong{font-size:14px}.plan-caution{font-size:10px}.folder-breadcrumb button{background:#f2f6eb;border-color:#dfe8d4;font-size:12px}.photo-thumbs img{width:120px;height:95px;border-radius:9px}.photo-thumbs figure{margin:8px 0}.photo-thumbs figcaption{font-size:10px;color:#6f8266;margin-top:5px}
@media(min-width:1600px){#content{padding-left:35px;padding-right:35px}.premium-hero{min-height:440px}}
@media(max-width:1050px){.premium-launches{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-metrics button{padding:21px}.premium-hero{min-height:340px}.topbar{padding:0 25px}#navigation{padding:0 20px}.table-wrap table{min-width:650px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.topbar{height:74px;padding:0 18px;gap:15px}.wordmark img{width:114px;height:49px}.top-label{display:none}#save-status{display:inline;font-size:9px;max-width:95px;white-space:normal}.profile{gap:8px}.profile .pilot{display:none}.profile .avatar{width:29px;height:29px;font-size:10px}.profile #logout-account{font-size:9px;min-height:30px;padding:5px 7px}#navigation{padding:0 10px;gap:4px}#navigation button{min-width:78px;font-size:9px;padding:13px 8px;min-height:62px}#content{padding:26px 16px 45px}h2{font-size:28px;letter-spacing:-1px}.premium-heading{align-items:flex-start;margin-bottom:20px}.premium-heading p{font-size:11px}.premium-heading .link-button{display:none}.premium-hero{padding:26px;min-height:330px;border-radius:17px;background-position:54% center}.premium-hero:before{background:linear-gradient(0deg,#0c271dee,#0c271d15 100%),linear-gradient(90deg,#0c271d99,transparent)}.premium-hero h3{font-size:33px;max-width:230px}.premium-hero p{font-size:12px;max-width:250px}.premium-hero-foot{display:none}.premium-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px;margin-bottom:25px}.premium-metrics button{padding:19px 20px;min-height:100px}.premium-metrics strong{font-size:29px}.premium-metrics span{font-size:10px}.premium-launches{gap:10px}.premium-launches button{padding:19px 16px;min-height:160px}.premium-launches button strong{font-size:12px}.premium-launches button span{font-size:10px}.premium-bottom{padding:20px;align-items:flex-start;flex-direction:column}.premium-bottom .project-connections{gap:7px}.premium-section-title{margin-top:25px}.premium-section-title span{display:none}.card{padding:20px;border-radius:14px}.project-grid{grid-template-columns:1fr;gap:14px}.project-tile{padding:24px;min-height:260px}.project-tile h3{font-size:24px}.project-search{padding:13px;gap:10px}.project-search span{font-size:10px}.project-tabs{flex-wrap:nowrap;margin-bottom:20px}.project-tabs button{font-size:11px;padding:10px 13px;white-space:nowrap}.collection-tools{margin-bottom:20px}.collection-tools .eyebrow{font-size:8px;letter-spacing:1px}.collection-tools button{font-size:10px}.section-row{flex-wrap:wrap;gap:9px}.section-row>span{min-width:160px}.section-row button{min-height:40px}.plan-tools{padding:9px;gap:6px;flex-wrap:wrap;max-height:35svh;overflow:auto}.plan-tools button{padding:11px 10px;font-size:10px;min-height:44px}.plan-symbol-palette{grid-template-columns:repeat(2,minmax(0,1fr));max-height:46svh;overflow:auto;overscroll-behavior:contain}.plan-symbol-palette button{min-height:100px}.plan-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px}.plan-settings label{display:flex;flex-direction:column;align-items:flex-start;font-size:10px;gap:4px;margin:0}.plan-settings select{width:100%;max-width:none;font-size:12px}.plan-settings #plan-scale-summary{grid-column:1/-1;font-size:10px}.plan-document-bar{gap:10px}.plan-document-bar>strong{max-width:100%;font-size:12px;flex-basis:100%}.plan-document-bar button{font-size:10px;min-height:40px}.plan-scroll{max-height:66svh;min-height:250px}.plan-page-controls{gap:8px}.plan-page-controls input{width:52px;min-height:40px;padding:8px}.plan-selection-actions{gap:7px;font-size:10px}.plan-selection-actions button{font-size:10px;padding:8px}.plan-caution{font-size:10px}#welcome{padding:26px 24px;background-position:52% center}#welcome .welcome-center{padding-bottom:7vh}#welcome .welcome-center p{font-size:30px}.welcome-top{font-size:8px;letter-spacing:1.4px}.welcome-top span:last-child{max-width:65px;text-align:right}#welcome footer{font-size:7px;letter-spacing:1.3px;align-items:end}#welcome .enter{min-width:200px}dialog{padding:24px;max-height:90svh}dialog h2{font-size:24px}.timesheet-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.timesheet-filters label{min-width:0;font-size:11px}.timesheet-filters input,.timesheet-filters select{font-size:12px}.table-wrap table{font-size:12px}th,td{padding:13px 12px}.photo-thumbs img{width:100px;height:80px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.plan-more>summary{list-style:none;cursor:pointer;min-height:42px;display:flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid #d9e3cf;border-radius:9px;background:white;font-size:11px;font-weight:600}.plan-more>summary::-webkit-details-marker{display:none}.plan-more>summary:after{content:'＋';margin-left:9px;color:#658452}.plan-more[open]{flex-basis:100%}.plan-more[open]>summary{width:max-content;margin-bottom:10px;background:#e3edda}.plan-more[open]>summary:after{content:'−'}.plan-more-tools{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #d9e3cf;padding-top:12px}.plan-more-tools button{min-height:42px}.plan-tools{overflow:visible;max-height:none}.plan-more>summary:focus-visible{outline:3px solid #8fbb37;outline-offset:3px}@media(max-width:700px){.plan-tools{gap:6px;padding:8px;max-height:none;overflow:visible}.plan-tools>button{font-size:10px;min-height:42px;padding:10px}.plan-more>summary{min-height:42px;padding:10px;font-size:10px}.plan-more-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:34svh;overflow:auto}.plan-more-tools button{font-size:10px;padding:10px 5px}.plan-more-tools .plan-color-label{font-size:10px}.plan-more-tools input[type=color]{width:35px;height:35px;min-height:30px;padding:0}.premium-heading>.eyebrow{max-width:105px;font-size:8px;line-height:1.7;letter-spacing:1.5px}}

.welcome-photo{display:none}@media(max-width:700px){#welcome{background:#10291e}#welcome:before{content:'';position:absolute;inset:-25px;background:linear-gradient(#0b241dc9,#0b241de8),url('desmor-quebec-grue.png') center/cover no-repeat;filter:blur(17px);z-index:-2}.welcome-photo{display:block;position:absolute;left:-25vw;top:14svh;width:150vw;aspect-ratio:16/9;background:url('desmor-quebec-grue.png') center/cover no-repeat;mask-image:linear-gradient(transparent,#000 16%,#000 78%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 16%,#000 78%,transparent);z-index:-1}#welcome .welcome-center{padding-bottom:7vh}#welcome .welcome-center p{font-size:29px}}

/* A dedicated plan view also works on iPhone, where element fullscreen is unavailable. */
.plan-document-bar #plan-expand{margin-right:auto;background:#173c2a;color:white;border-color:#173c2a;white-space:nowrap}
.plan-workspace.plan-expanded{position:fixed;inset:0;z-index:1000;background:#fcfdf9;padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:6px;overflow:auto;overscroll-behavior:contain;height:100dvh}
.plan-expanded .plan-scroll{flex:1 0 38svh;max-height:none;min-height:0;border-radius:8px}
.plan-expanded .plan-document-bar{margin:0;gap:6px}.plan-expanded .plan-document-bar>strong{font-size:11px}
.plan-expanded .plan-tools{position:static;padding:6px;margin:0;flex-shrink:0}.plan-expanded .plan-settings{padding:0;gap:5px;margin:0}.plan-expanded .plan-settings label{margin:0}.plan-expanded .plan-caution{display:none}.plan-expanded #plan-status{padding:6px 9px;margin:0;font-size:10px}.plan-expanded .plan-selection-actions{padding:5px;margin:0}.plan-expanded .plan-measurements{max-height:12svh;overflow:auto;padding:8px;margin:0;font-size:11px}.plan-expanded .plan-measurements ol{margin:0}.plan-expanded .plan-measurements p{margin:3px 0}.plan-expanded #plan-palette{max-height:43svh;overflow:auto;flex-shrink:0}
@media(max-width:700px){.plan-expanded .plan-document-bar>strong{flex-basis:auto;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-expanded .plan-document-bar button{font-size:10px;padding:7px 9px}.plan-expanded .plan-document-bar #plan-download-original{display:none}.plan-expanded .plan-settings select{min-height:35px;padding:6px;font-size:11px}.plan-expanded .plan-settings label{font-size:9px}.plan-expanded .plan-settings #plan-scale-summary{display:none}.plan-expanded .plan-measurements{max-height:10svh}.plan-expanded .plan-selection-actions button{min-height:30px;padding:5px}}

.plan-tools .plan-stroke-control{display:flex;align-items:center;gap:7px;margin:0;font-size:11px;color:#173c2a}.plan-stroke-control select{margin:0;min-height:38px;padding:6px 10px;width:auto}.plan-selection-actions{flex-wrap:wrap}@media(max-width:700px){.plan-tools .plan-stroke-control{font-size:10px}.plan-stroke-control select{min-height:34px;padding:5px}}

/* Logos officiels vectoriels, sans aplat derrière les lettres. */
.wordmark,.wordmark:hover,.wordmark:focus{background:transparent}.wordmark img,.official-logo,.account-logo{background:transparent;object-fit:contain}.wordmark img{height:auto;width:145px}.official-logo{width:min(78vw,670px);height:auto}.account-logo{display:block;width:180px;max-width:75%;height:auto;margin:0 0 26px}#account-screen .card{background:#fff}@media(max-width:700px){.wordmark img{width:114px;height:auto}.official-logo{width:min(78vw,490px)}}

.plan-drop-zone{margin:18px 0;padding:24px;border:2px dashed #859b8e;border-radius:14px;background:#f3f7f4;text-align:center;color:#193b2a}.plan-drop-zone p{font-size:13px;line-height:1.6}.plan-drop-zone .file-pick{display:inline-block;cursor:pointer}.plan-drop-zone input{max-width:100%}.plan-drop-active{outline:3px solid #477b5a;outline-offset:4px}.plan-drop-active .plan-drop-zone{background:#dceede;border-style:solid}[data-pf-progress]:empty{display:none}

/* Lecteur de plans : la feuille garde l’espace restant sous ses outils. */
body:has(.plan-workspace.plan-expanded){overflow:hidden}
.plan-workspace.plan-expanded{box-sizing:border-box;overflow:hidden;width:100%;height:100dvh;max-height:100dvh}
.plan-expanded .plan-scroll{flex:1 1 0;min-height:120px;max-height:none;overflow:auto;overscroll-behavior:contain}
.plan-expanded .plan-document-bar,.plan-expanded .plan-settings,.plan-expanded .plan-selection-actions,.plan-expanded #plan-status{flex-shrink:0}
.plan-expanded #plan-palette{max-height:30dvh;overflow:auto;margin:0;padding:12px}
.plan-expanded .plan-measurements:empty{display:none}
#plan-editor{scroll-margin-top:16px}
#plan-close{white-space:nowrap}

/* Galerie des plans : feuille entière et nom lisible, sans recadrage. */
.plan-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;margin-top:20px;align-items:start}
.plan-gallery .plan-gallery-card{display:flex;flex-direction:column;align-items:stretch;gap:9px;min-width:0;margin:0;padding:12px;border:1px solid var(--border,#dce3df);border-radius:12px;background:var(--surface,#fff)}
.plan-gallery .plan-preview{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:170px;padding:8px;background:#f4f5f3;border:1px solid #e1e5e1;border-radius:7px;color:#43564c;overflow:hidden}
.plan-gallery .plan-preview:hover{border-color:#547460;background:#edf3ef}
.plan-gallery .plan-preview canvas{display:block;opacity:0;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;background:white}
.plan-gallery .plan-preview canvas.ready{display:block;opacity:1}.plan-gallery .plan-preview-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:400;text-align:center}
.plan-gallery .plan-preview-status[hidden]{display:none}.plan-gallery-name{font-size:14px;overflow-wrap:anywhere}.plan-gallery-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.plan-gallery>#plan-editor{grid-column:1/-1;width:100%;min-width:0}
@media(max-width:540px){.plan-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.plan-gallery .plan-gallery-card{padding:8px}.plan-gallery .plan-preview{height:125px}.plan-gallery-name{font-size:12px}.plan-gallery-actions button{padding:7px;font-size:12px}}

.plan-gallery>#plan-editor:empty{display:none}.plan-tools #plan-text-size{width:76px;min-width:0}
