/* ideas.css (16 Oct 2026): letter helper, ID guide, offline, volunteers, jobs board, CV builder (5 designs + print), alerts, partners, libraries. */
.id-page{max-width:820px;margin:0 auto}
.id-page .card{margin:12px 0}.id-intro{font-size:1.05em}
.id-cards{display:grid;gap:10px;margin:12px 0}
@media(min-width:700px){.id-cards{grid-template-columns:1fr 1fr}}
.id-card,.id-hero{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 14px;border-radius:18px;background:var(--glass-bg,#fff);border:1px solid rgba(11,11,12,.12);color:inherit;text-decoration:none;box-shadow:0 2px 10px rgba(11,11,12,.06)}
.id-card:hover,.id-hero:hover{border-color:#0B0B0C}
.id-ic,.id-hero>span:first-child{font-size:28px;flex:none;width:40px;text-align:center}
.id-tx{display:flex;flex-direction:column;min-width:0;flex:1}.id-tx b{font-size:1.02em}.id-tx small,.id-hero small{opacity:.8;display:block}
.id-go{margin-inline-start:auto;font-size:26px;opacity:.6}[dir=rtl] .id-go{transform:scaleX(-1)}
.id-hero{background:#0B0B0C;color:#fff;margin:12px 0}.id-hero span:nth-child(2){flex:1}.id-hero small{color:#e6e6e6}
.id-btn{font-weight:700}.id-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.id-row>input{flex:1;min-width:140px}
.id-row2{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}
.id-form label{display:block;margin:10px 0 4px;font-weight:600}.id-form input:not([type=checkbox]),.id-form textarea,.id-form select,.id-cv input:not([type=checkbox]),.id-cv textarea,.id-cv select,.id-letter textarea{width:100%;box-sizing:border-box;min-height:44px;font:inherit;padding:8px 10px;border-radius:12px;border:1px solid #999;background:#fff;color:#111}
.id-cv label{display:block;margin:8px 0;font-weight:600}
.id-chk{display:flex!important;gap:8px;align-items:flex-start;font-weight:400!important}.id-chk input{width:22px;height:22px;flex:none;margin-top:2px}
.id-form fieldset,.id-rep{border:1px solid #ccc;border-radius:12px;padding:8px 12px;margin:10px 0}
.id-hp{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;max-width:1px!important;max-height:1px!important;box-sizing:border-box!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0}
.id-ok{color:#0a5c2b;background:#e8f6ee;border-radius:12px;padding:10px}.id-err{color:#8a1010;background:#fdecec;border-radius:12px;padding:10px}
.id-small{font-size:.9em;opacity:.85}.id-priv{background:#eef5ff;border-radius:12px;padding:10px}
.id-warn2,.id-urgent{background:#fff6e0;border-inline-start:4px solid #c77700;padding:8px 10px;border-radius:8px}.id-urgent{background:#fdecec;border-color:#b00020}
.id-badge{display:inline-block;background:#0B0B0C;color:#fff;border-radius:999px;padding:2px 10px;font-size:.85em}
.id-tags{display:flex;flex-wrap:wrap;gap:6px}.id-tag{background:#f0f0f0;border-radius:999px;padding:3px 10px;font-size:.9em}
.id-st{font-size:.85em;padding:2px 8px;border-radius:999px;background:#eee}.id-st.ok,.st-approved,.st-introduced{background:#e8f6ee;color:#0a5c2b}.id-st.no,.st-rejected,.st-declined{background:#fdecec;color:#8a1010}
.id-pack{list-style:none;padding:0}.id-pack li{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #eee}.id-pack a{color:inherit}
.id-net.on{color:#0a5c2b}.id-net.off{color:#8a1010;font-weight:700}
#id-offbar{position:fixed;top:0;left:0;right:0;z-index:9999;background:#8a1010;color:#fff;text-align:center;padding:8px 12px;font-weight:700}#id-offbar a{color:#fff}
.id-chip{display:inline-block;margin:0 0 8px;background:#e8f6ee;color:#0a5c2b;border-radius:999px;padding:3px 12px;font-size:.9em;text-decoration:none}
.id-kinds{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.id-kind{border:1px solid #0B0B0C;border-radius:999px;padding:8px 12px;color:inherit;text-decoration:none;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center}
.id-warn{border:2px solid #c77700}.id-soon button[disabled]{opacity:.5}
.id-search{width:100%;min-height:48px;padding:8px 12px;border-radius:12px;border:1px solid #999;box-sizing:border-box;font:inherit}
.id-hrs ul{list-style:none;padding:0;margin:4px 0}.id-hrs li{display:flex;justify-content:space-between;max-width:280px}
.id-hrow{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:6px;margin:6px 0}
.id-map{height:300px;border-radius:16px;margin:10px 0;z-index:0}
.id-btns{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.id-btns a{display:block;padding:12px 14px;border-radius:14px;text-decoration:none;color:inherit;border:1px solid #bbb;min-height:44px;box-sizing:border-box}
.id-btns a.id-dl{background:#0B0B0C;color:#fff;border-color:#0B0B0C}.id-btns a.id-dl small{display:block;opacity:.85}
.id-btns a.id-act{border-color:#0a5c2b;background:#f3fbf6}.id-btns a.id-ord{border-color:#1f4fa0;background:#f2f6fd}
/* CV builder */
.id-side{display:flex;flex-direction:column;gap:10px;margin:10px 0}.id-sh,.id-srow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:560px){.id-sh{display:none}.id-srow{grid-template-columns:1fr}.id-row2{grid-template-columns:1fr 1fr}}
.id-srow p{background:#f6f6f6;border-radius:10px;padding:8px;margin:2px 0;min-height:40px}
.id-issues li{margin:8px 0}.id-fix{font-size:.9em;padding:4px 10px}
.id-tpls{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.id-tpl{display:flex;flex-direction:column;align-items:center;gap:6px;background:#fff;border:2px solid #ccc;border-radius:14px;padding:8px;cursor:pointer;color:#111}
.id-tpl.on{border-color:#0B0B0C;box-shadow:0 0 0 3px rgba(11,11,12,.15)}
.id-thumb{display:block;width:110px;height:155px;overflow:hidden;position:relative;background:#fff;border:1px solid #ddd}
.id-thumbin{position:absolute;top:0;left:0;width:794px;transform:scale(.1385);transform-origin:0 0;pointer-events:none}
.id-prev{overflow:auto;border:1px solid #ddd;border-radius:10px;background:#fafafa;padding:8px;max-height:640px;direction:ltr;text-align:left}.id-prev:focus-visible{outline:3px solid #1f4fa0;outline-offset:2px}
.id-prev .cvdoc{transform-origin:0 0}
.id-opts>li{margin:10px 0}
/* CV documents (shared). A4 width at 96dpi = 794px. Real text = ATS readable. */
.cvdoc{width:794px;min-height:1000px;box-sizing:border-box;padding:48px 56px;background:#fff;color:#111;font:14px/1.45 Arial,Helvetica,sans-serif;text-align:left}
.cvdoc h1{font-size:26px;margin:0 0 4px}.cvdoc h2{font-size:15px;text-transform:uppercase;letter-spacing:.06em;margin:18px 0 6px}.cvdoc h3{font-size:14px;margin:8px 0 0}
.cvdoc p{margin:4px 0}.cvdoc ul{margin:4px 0 4px 18px;padding:0}.cv-meta{color:#444;font-size:13px}.cv-ct{font-size:13px}
.cv-classic{font-family:Georgia,'Times New Roman',serif}.cv-classic .cv-hd{text-align:center;border-bottom:2px solid #111;padding-bottom:8px}.cv-classic h2{border-bottom:1px solid #999}
.cv-modern .cv-hd{background:#0B0B0C;color:#fff;margin:-48px -56px 16px;padding:28px 56px}.cv-modern h2{color:#1f4fa0;border-inline-start:4px solid #1f4fa0;padding-inline-start:8px}
.cv-minimal{font-family:'Helvetica Neue',Arial,sans-serif}.cv-minimal h2{font-weight:400;color:#555;letter-spacing:.12em}.cv-minimal h1{font-weight:300;font-size:30px}
.cv-twocol .cv-cols{display:grid;grid-template-columns:2fr 1fr;gap:24px}.cv-twocol .cv-side{background:#f3f3f3;padding:8px 14px;border-radius:6px}.cv-twocol .cv-hd{border-bottom:3px solid #0a5c2b}.cv-twocol h2{color:#0a5c2b}
.cv-compact{font-size:12.5px;padding:32px 40px}.cv-compact h2{font-size:13px;margin:10px 0 4px;background:#eee;padding:2px 6px}.cv-compact .cv-sk{columns:2}
/* QA 17 Oct: CV is always LTR English, whatever the UI direction (C2); no site styles leak in (C3); colours print (C3); sensible page breaks (M5) */
html .cvdoc :is(p,li,h1,h2,h3,h4,small,div,section,aside,ul,b,span){unicode-bidi:isolate!important;direction:ltr!important}
html .cvdoc bdi{unicode-bidi:isolate!important}
.cvdoc .cv-hd{display:block;position:static;top:auto;z-index:auto;box-shadow:none;min-height:0}
.cvdoc,.cvdoc *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.cvdoc .cv-item,.cvdoc .cv-side section,.cvdoc .cv-hd{break-inside:avoid;page-break-inside:avoid}.cvdoc h2,.cvdoc h3{break-after:avoid;page-break-after:avoid}
.id-latin{border-radius:10px;padding:10px 12px;margin:10px 0}.id-latin ul{margin:6px 0 0 18px}.id-latin p{margin:4px 0}
.id-warn{background:#FFF6E0;border-left:4px solid #C98A00;padding:8px 10px;border-radius:8px;margin:8px 0}
.id-pn{font-weight:400;color:#555}.id-cvnote{margin:0 0 10px}
.id-paid>summary{cursor:pointer;min-height:44px;display:list-item;padding:10px 0}
.id-cvs>summary{min-height:44px;display:list-item;padding:10px 0}
.id-cv .id-chk input{width:24px;height:24px}
.id-row2.id-lgrow{grid-template-columns:1fr 1fr auto!important}.id-lgrow .id-x{min-width:44px;min-height:44px}
html.tm #app .cvdoc h2,html #app .cvdoc h2{font-size:15px;line-height:1.3;letter-spacing:.06em;font-weight:700;color:inherit}html.tm #app .cv-modern h2{color:#1f4fa0}html.tm #app .cv-twocol h2{color:#0a5c2b}html.tm #app .cv-minimal h2{font-weight:400;color:#555;letter-spacing:.12em}html.tm #app .cv-compact h2{font-size:13px}
.cvdoc.cv-modern .cv-hd,.cvdoc.cv-modern .cv-hd *,html.tm:not(.a11y) .id-tpl .cvdoc.cv-modern .cv-hd,html.tm:not(.a11y) .id-tpl .cvdoc.cv-modern .cv-hd *,html.tm .id-tpl .cvdoc.cv-modern .cv-hd *,html #app#app .id-tpl .cvdoc.cv-modern .cv-hd,html #app#app .id-tpl .cvdoc.cv-modern .cv-hd *{color:#fff!important}.id-thumbin .cvdoc{margin:0}.id-thumbin .cv-modern .cv-hd{margin-top:-48px}
.id-need{margin:2px 0 4px;padding:6px 8px}
/* print: only the CV */
@media print{html.cv-printing,html.cv-printing body,html.cv-printing #app,html.cv-printing .id-cv{padding:0!important;margin:0!important;min-height:0!important;height:auto!important;border:0!important;box-shadow:none!important}html.cv-printing body>*{display:none!important}html.cv-printing body{background:#fff!important}
 html.cv-printing body>#app,html.cv-printing body>main{display:block!important}html.cv-printing #app>*:not(.id-cv){display:none!important}
 html.cv-printing .id-cv>*:not(#cvprint-root){display:none!important}html.cv-printing #cvprint-root{display:block!important}
 html.cv-printing #cvprint-root .cvdoc{width:auto;min-height:0;padding:0;box-shadow:none}html.cv-printing .cv-modern .cv-hd{margin:0 0 12px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 @page{size:A4;margin:16mm}}
#cvprint-root{display:none}
