/* core/assets/css/cdpdrive.css — CDPDrive | additions to the CDPCMS editor stylesheet (cms.css, loaded first)
   Version : 0.6.4 2026-10-14 — by CTPF (CertThor PlatForms Ltd.), order 1104
   Purpose : Only what CDPCMS has no class for: state badges, the On/Off rows of the settings pages
             (same look as the switches of the CDPCMS customizer), QR code box, code block. No own layout. */
.cms-badge--on{color:#fff;background:#198754;border-color:#198754}
.cms-badge--off{color:#fff;background:#c40000;border-color:#15224e}
.cms-badge--warn{color:#15224e;background:#f2c200;border-color:#f2c200}
.cms-badge--navy{color:#fff;background:#15224e;border-color:#15224e}
.cms-cz__row--toggle small{display:block;font-weight:400;font-size:12px;margin-top:2px}
.cms-cz__row--toggle.cms-cz__row--inline{display:inline-flex;border:0;padding:0 12px 0 0;gap:8px}
.cms-qr svg{display:block;width:220px;height:220px;margin:10px 0}
.cms-code{margin:0 0 10px;padding:12px;background:#15224e;color:#e8edf5;overflow:auto;font:13px/1.45 ui-monospace,Menlo,Consolas,monospace}
.cms-box--fresh{border:2px solid #198754}
.cms-wrap-any{word-break:break-all}
.cms-table td.cms-actions-cell{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.cms-table td.cms-actions-cell form{margin:0}
.cms-table td.cms-actions-cell select{width:auto}
.cms-table-small th,.cms-table-small td{padding:6px 8px;font-size:13px}
.cms-box--row summary{cursor:pointer;display:flex;gap:10px;align-items:center;flex-wrap:wrap;list-style:none}
.cms-box--row summary::-webkit-details-marker{display:none}
.cms-box--row .cms-form{margin-top:14px}
.cms-err-text{color:#15224e;font-size:12px}
/* responsive additions (Michael 14.10.2026: full width, but responsive): tables scroll inside their box,
   topbar wraps below 1024 px, sidebar navigation behind a menu button below 760 px */
@media (max-width:1024px){
  .cms-table{display:block;overflow-x:auto;white-space:nowrap;max-width:100%}
  .cms-top{display:flex;flex-wrap:wrap;height:auto;min-height:32px;gap:8px 18px;padding:4px 14px}
  .cms-top__left{white-space:normal;flex-wrap:wrap}
  .cms-top__clock{margin-left:auto}
}
.cms-menu-toggle{display:none}
@media (max-width:760px){
  .cms-side{position:relative}
  .cms-brand{justify-content:flex-start}
  .cms-menu-toggle{display:inline-flex;align-items:center;gap:8px;position:absolute;right:14px;top:14px;min-height:36px;padding:4px 12px;border:1px solid #15224e;background:#fff;color:#15224e;font:600 14px system-ui;cursor:pointer}
  .cms-side .cms-nav{display:none}
  .cms-side.is-open .cms-nav{display:flex}
  .cms-cards{grid-template-columns:1fr}
}
@media (min-width:761px) and (max-width:1024px){.cms-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1025px) and (max-width:1440px){.cms-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1441px){.cms-cards{grid-template-columns:repeat(6,minmax(0,1fr))}}
/* Michael 14.10.2026: primary buttons green, button height = field height, selects aligned with inputs in a row */
.cms-btn{min-height:38px}
.cms-btn--primary{background:#198754;border-color:#198754;color:#fff}
.cms-btn--primary:hover{background:#146c43;border-color:#146c43}
input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=url],select{min-height:38px;box-sizing:border-box}
.cms-form label select,.cms-row label select,.cms-form--inline label select{display:block;width:100%;margin-top:4px}
.cms-row label:not(.cms-cz__switch),.cms-form--inline label:not(.cms-cz__switch){display:flex;flex-direction:column;justify-content:flex-end}
.cms-split>*,.cms-box,.cms-main{min-width:0;max-width:100%}
.cms-row .cms-cz__row--toggle{align-self:end;min-height:38px;border-bottom:0}
/* 0.4.0: Drive file browser (classes of the CDPCMS media library where they fit) */
.cms-drive__drop{margin:0 0 12px;padding:18px;border:1px dashed #15224e;text-align:center;font-size:14px;background:#fff}
.cms-drive__drop.is-over{background:#f4f6f9;border-style:solid}
.cms-drive__progress{margin:0 0 12px}
.cms-drive__bar{height:8px;border:1px solid #15224e;background:#fff;margin:0 0 4px}
.cms-drive__bar span{display:block;height:100%;width:0;background:#198754;transition:width .2s}
.cms-drive__sel{width:32px}
.cms-drive__list{margin:10px 0 0;padding-left:18px;font-size:13px}
.cms-drive__table .cms-actions-cell .cms-btn{min-height:30px;padding:0 8px}
.cms-share__meta{margin:0 0 12px;text-align:center;font-size:13px}
.cms-share__preview{display:block;max-width:100%;height:auto;margin:0 auto 12px;border:1px solid #15224e}
.cms-share .cms-btn{width:100%;margin-top:6px}
.cms-dialog label{display:block;margin:0 0 12px;font-weight:600;font-size:14px}
.cms-dialog label input,.cms-dialog label textarea{margin-top:4px;font-weight:400;width:100%}
.cms-media-item img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#f4f6f9}
/* Michael 14.10.2026: short settings side by side – label + field + hint per column, equal widths, wraps on narrow screens */
.cms-row--auto{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start}
.cms-field{display:flex!important;flex-direction:column;margin:0 0 12px}
.cms-field input,.cms-field select{margin-top:4px}
.cms-field .cms-hint{display:block;margin:4px 0 0;font-weight:400;font-size:12px}
.cms-cz__row--col{flex-direction:column;align-items:flex-start;gap:6px;border-bottom:0;padding:0 0 12px}
.cms-cz__row--col>span{font-size:14px}
.cms-cz__row--col .cms-cz__switch{margin-top:2px}
/* profile (Michael 14.10.2026): balanced columns, sessions table inside its card */
.cms-split--even{grid-template-columns:1fr 1fr}
@media (max-width:1100px){.cms-split--even{grid-template-columns:1fr}}
.cms-table--sessions{table-layout:auto;width:100%;display:table;white-space:normal}
.cms-table--sessions td{word-break:break-word}
.cms-nowrap{white-space:nowrap}
.cms-table__badge{width:120px;white-space:nowrap}
@media (max-width:1024px){.cms-table--sessions{display:block;overflow-x:auto;white-space:nowrap}}
/* Michael 14.10.2026: fields of one row on exactly one line – fixed label line (20 px, one line), field line (38 px), hint below */
.cms-row{align-items:start}
.cms-row>label,.cms-row>.cms-field,.cms-field{display:grid!important;grid-template-rows:20px 38px auto;align-content:start;margin:0 0 12px;row-gap:4px}
.cms-field__label{display:block;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;font-size:14px}
.cms-row>label>input,.cms-row>label>select,.cms-field>input,.cms-field>select{margin:0!important;height:38px;min-height:38px}
.cms-field>.cms-hint,.cms-row>label>.cms-hint{margin:0;font-size:12px;font-weight:400;line-height:1.35}
.cms-field--btn{display:grid;grid-template-rows:20px 38px auto;align-content:start;margin:0 0 12px;row-gap:4px}
.cms-field--btn>.cms-btn{height:38px;min-height:38px;width:max-content}
.cms-row>.cms-cz__row--toggle,.cms-cz__row--col{display:grid;grid-template-rows:20px 38px auto;align-content:start;row-gap:4px;padding:0;margin:0 0 12px;border:0}
.cms-cz__row--col>span{display:block;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;font-size:14px}
.cms-cz__row--col>span>small{display:none}
.cms-cz__row--col>.cms-cz__switch{align-self:center;justify-self:start}
.cms-cz__row--col>.cms-hint{margin:0;font-size:12px;font-weight:400}
.cms-form--inline{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:start}
.cms-form--inline>label{display:grid!important;grid-template-rows:20px 38px auto;align-content:start;margin:0;row-gap:4px;flex:none}
.cms-form--inline>label>input,.cms-form--inline>label>select{margin:0!important;height:38px}
.cms-form--inline>.cms-btn,.cms-form--inline>button{align-self:start;margin-top:24px;height:38px;width:max-content}
.cms-form--inline>.cms-check{align-self:start;margin-top:24px!important;min-height:38px}
.cms-form--inline>.cms-cz__row--toggle{display:grid;grid-template-rows:20px 38px auto;align-content:start;row-gap:4px;padding:0;margin:0;border:0}
/* Michael 14.10.2026: destructive buttons filled red, white text, field height (CDP specification) */
.cms-btn--danger{background:#c40000;border-color:#15224e;color:#fff}
.cms-btn--danger:hover{background:#a30000;border-color:#a30000;color:#fff}
/* Michael 14.10.2026: always a gap between tables/fields and the buttons that follow; no touching borders */
.cms-box>.cms-table,.cms-box>.cms-form>.cms-table{margin-bottom:16px}
.cms-table+form,.cms-table+.cms-actions,.cms-table+.cms-btn,.cms-table+p{margin-top:16px}
.cms-box>form:not(.cms-form)>.cms-btn,.cms-box>.cms-btn{margin-top:4px}
.cms-form>.cms-btn,.cms-form>.cms-actions{margin-top:8px}
.cms-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 0}
.cms-actions form{margin:0}
.cms-head form{margin:0}
.cms-box .cms-row:last-of-type{margin-bottom:0}
/* field grids fill their column (explicit single column track) */
.cms-row>label,.cms-row>.cms-field,.cms-field,.cms-form--inline>label,.cms-field--btn,.cms-cz__row--col,.cms-row>.cms-cz__row--toggle,.cms-form--inline>.cms-cz__row--toggle{grid-template-columns:minmax(0,1fr);justify-items:stretch;width:100%}
.cms-row>label>input,.cms-row>label>select,.cms-field>input,.cms-field>select,.cms-form--inline>label>input,.cms-form--inline>label>select{width:100%;box-sizing:border-box}
.cms-cz__row--col>.cms-cz__switch,.cms-field--btn>.cms-btn,.cms-form--inline>.cms-btn{justify-self:start}
/* inline forms: hints light, buttons on the field line */
.cms-form--inline>label>.cms-hint,.cms-row>label>.cms-hint,.cms-row>label>small{font-weight:400!important;font-size:12px;margin:0}
.cms-form--inline>.cms-btn,.cms-form--inline>button.cms-btn{margin-top:24px!important;align-self:start}
/* share page (Michael 14.10.2026): file name on its own line, size and validity smaller below */
.cms-share__name{margin:0 0 2px;text-align:center;font-weight:600;font-size:15px;word-break:break-word}
.cms-share__meta{margin:0 0 14px;text-align:center;font-size:12px;color:#15224e}
/* share page preview (Michael 14.10.2026): PDF/image/video/audio/text shown directly, download button above; buttons white on green/red */
.cms-share--wide{max-width:1440px;width:100%}
.cms-share__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:0 0 14px}
.cms-share .cms-share__actions .cms-btn{width:auto;margin:0;min-width:160px}
.cms-share__frame{display:block;width:100%;height:85vh;min-height:480px;border:1px solid #15224e;background:#fff}
.cms-share__preview{max-height:80vh;object-fit:contain}
.cms-share__audio{display:block;width:100%}
.cms-share__open{display:none}
@media (max-width:760px){.cms-share__frame{display:none}.cms-share__open{display:inline-flex}.cms-share .cms-share__actions .cms-btn{width:100%}}
.cms-login--ctas a.cms-btn--primary,.cms-btn--primary,.cms-btn--primary:hover,.cms-btn--primary:focus{color:#fff!important}
.cms-login--ctas a.cms-btn--danger,.cms-btn--danger,.cms-btn--danger:hover{color:#fff!important}
/* modals (Michael 14.10.2026): no horizontal scrolling – width min(720px, 100vw-32px), content wraps, long names break */
.cms-dialog{width:min(720px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px);box-sizing:border-box;overflow-x:hidden;overflow-y:auto;padding:18px}
.cms-dialog *{overflow-wrap:anywhere;min-width:0}
.cms-dialog .cms-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.cms-dialog input,.cms-dialog select,.cms-dialog textarea{width:100%;max-width:100%;box-sizing:border-box}
.cms-dialog .cms-dialog__head{flex-wrap:wrap;gap:8px}
.cms-dialog .cms-dialog__head h2{min-width:0;margin:0}
.cms-dialog pre,.cms-dialog code{white-space:pre-wrap}
@media (max-width:480px){.cms-dialog{padding:14px}}
/* Michael 14.10.2026 (audit): one field/button height everywhere (40 px like CDPCMS), copy rows, action rows, key/value tables, cards, picker, embed header */
.cms-btn,.cms-page .cms-btn:not(.cms-btn--link){min-height:40px;height:40px;box-sizing:border-box}
.cms-btn--small,.cms-page .cms-btn--small:not(.cms-btn--link){min-height:30px;height:30px;padding:0 10px;font-size:13px}
.cms-page input:is([type=text],[type=email],[type=password],[type=search],[type=number],[type=url],[type=tel],[type=date],[type=time],[type=datetime-local]),.cms-page select{height:40px;min-height:40px}
.cms-row>label,.cms-row>.cms-field,.cms-field,.cms-field--btn,.cms-row>.cms-cz__row--toggle,.cms-cz__row--col,.cms-form--inline>label,.cms-form--inline>.cms-cz__row--toggle{grid-template-rows:20px 40px auto}
.cms-row>label>input,.cms-row>label>select,.cms-field>input,.cms-field>select,.cms-form--inline>label>input,.cms-form--inline>label>select,.cms-field--btn>.cms-btn{height:40px;min-height:40px}
.cms-form--inline>.cms-btn,.cms-form--inline>button.cms-btn,.cms-form--inline>button{height:40px}
.cms-row>.cms-cz__row--toggle{align-self:start}
.cms-row>.cms-cz__row--toggle>.cms-cz__switch,.cms-form--inline>.cms-cz__row--toggle>.cms-cz__switch{justify-self:start;align-self:center}
.cms-form input[type=number],.cms-row input[type=number],.cms-field input[type=number]{width:100%}
h1,h2,h3{text-wrap:balance}
.cms-actions+h2,.cms-table+h2,.cms-cards+h2{margin-top:24px}
.cms-table+.cms-box,.cms-cards+.cms-actions{margin-top:16px}
.cms-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
@media (min-width:1441px){.cms-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
.cms-cards:has(.cms-card:nth-child(4)):not(:has(.cms-card:nth-child(5))){grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1024px){.cms-cards:has(.cms-card:nth-child(4)):not(:has(.cms-card:nth-child(5))){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.cms-cards:has(.cms-card:nth-child(4)):not(:has(.cms-card:nth-child(5))){grid-template-columns:1fr}}
/* action cells inside tables stay table cells (borders intact, normal row height); buttons inline with 6 px gaps */
.cms-table td.cms-actions-cell{display:table-cell;white-space:nowrap;vertical-align:middle}
.cms-table td.cms-actions-cell>*{display:inline-flex;vertical-align:middle;margin:2px 6px 2px 0}
.cms-table td.cms-actions-cell>form{display:inline-block}
.cms-table td.cms-actions-cell>*:last-child{margin-right:0}
/* action rows: one line, 16 px gaps, same height */
.cms-actions--row{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0 0;align-items:center}
.cms-actions--row form{margin:0}
.cms-actions--row .cms-btn{height:40px}
/* copy rows: field fills the card, buttons at field height beside it (below on phones) */
.cms-copyrow{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:0 0 14px}
.cms-copyrow>input{flex:1 1 240px;min-width:0;width:auto;height:40px;margin:0}
.cms-copyrow>.cms-btn{flex:0 0 auto;height:40px}
.cms-copyrow--tools{margin:0}
.cms-head__tools{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-left:auto}
.cms-head__tools form{margin:0}
.cms-head__tools input[type=search]{width:260px;max-width:100%;height:40px}
@media (max-width:760px){.cms-head__tools{margin-left:0;width:100%}.cms-head__tools input[type=search]{width:100%}.cms-copyrow--tools{width:100%}.cms-copyrow--tools>input{flex-basis:100%}}
.cms-copyline{display:inline-flex;gap:10px;align-items:center;flex-wrap:wrap}
.cms-copyline a{overflow-wrap:anywhere}
.cms-btn.is-copied{background:#198754;border-color:#198754;color:#fff}
.cms-note__link{margin-left:6px;overflow-wrap:anywhere}
.cms-note .cms-btn--small{margin-left:8px;vertical-align:middle}
/* key/value tables: labels on one line, values wrap, never a horizontal scrollbar */
.cms-table--kv{display:table!important;table-layout:auto;width:100%;white-space:normal!important}
.cms-table--kv th{white-space:nowrap;width:1%;vertical-align:top;text-align:left}
.cms-table--kv td{overflow-wrap:anywhere;word-break:break-word}
.cms-table--kv code{overflow-wrap:anywhere;white-space:normal}
.cms-table--assets{table-layout:auto}
.cms-table--assets td{vertical-align:top}
.cms-code--light{background:#f4f6f9;color:#15224e;border:1px solid #15224e;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 8px}
.cms-table.cms-table--kv,.cms-table.cms-table--assets{margin-bottom:16px}
.cms-box>.cms-table:last-child,.cms-box>.cms-table--kv:last-child{margin-bottom:0}
.cms-table+.cms-hint,.cms-table+.cms-actions--row{margin-top:16px}
/* picker */
.cms-mp__tools{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:0 0 14px}
.cms-mp__tools select{width:auto;min-width:200px;height:40px;flex:0 1 260px}
.cms-mp__tools input[type=search]{flex:1 1 220px;min-width:0;width:auto;height:40px}
.cms-mp__tools .cms-btn{height:40px;margin:0}
.cms-mp__upload{cursor:pointer}
.cms-mp__crumbs{margin:0 0 14px;font-size:14px}
.cms-mp__crumbs a{text-decoration:none;font-weight:600}
.cms-mp__sep{color:#15224e;margin:0 2px}
.cms-mp__status{margin:0 0 12px;font-size:13px;color:#15224e}
.cms-mp__status.is-error{color:#15224e}
.cms-mp__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
@media (max-width:1440px){.cms-mp__grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:1200px){.cms-mp__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){.cms-mp__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.cms-mp__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cms-mp__tile{position:relative;display:flex;flex-direction:column;gap:4px;padding:10px;background:#fff;border:1px solid #15224e;text-align:left;font:inherit;color:#15224e;cursor:pointer;text-decoration:none;min-width:0;transition:background .12s}
.cms-mp__tile:hover{background:#f4f6f9}
.cms-mp__tile.is-selected{border:2px solid #198754;padding:9px}
.cms-mp__thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#f4f6f9;overflow:hidden;font-size:52px;color:#15224e}
.cms-mp__tile--folder .cms-mp__thumb{color:#15224e;font-size:60px}
.cms-mp__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cms-mp__name{font-weight:600;font-size:13px;overflow-wrap:anywhere;line-height:1.3}
.cms-mp__meta{font-size:12px;color:#15224e}
.cms-mp__select{display:none;position:absolute;right:8px;top:8px;height:30px;padding:0 10px;align-items:center;gap:6px;background:#198754;color:#fff;font-weight:600;font-size:13px}
.cms-mp__tile.is-selected .cms-mp__select{display:inline-flex}
.cms-mp__empty{grid-column:1/-1;margin:0;padding:18px;border:1px dashed #15224e;text-align:center}
/* embedded picker (?embed=1): navy header bar with logo and close button instead of the app shell */
body.cms-embed{display:block;background:#f4f6f9}
.cms-embed__head{display:flex;align-items:center;gap:16px;height:52px;padding:0 16px;background:#15224e;color:#fff}
.cms-embed__head img{height:29px;width:auto}
.cms-embed__title{font-weight:600;font-size:16px;flex:1}
.cms-embed__close{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border:1px solid #fff;background:#15224e;color:#fff;font:600 14px system-ui;cursor:pointer}
.cms-embed__close:hover{background:#fff;color:#15224e}
.cms-main--embed{padding:16px}
@media (max-width:760px){.cms-main--embed{padding:12px}.cms-embed__head{padding:0 12px}}
.cms-mp__upload{display:inline-flex!important;margin:0!important;height:40px;font-weight:600;align-items:center;gap:8px}
.cms-box.cms-mp{width:auto;max-width:100%;padding:14px 16px;border:1px solid var(--line)}
.cms-mp__tools{padding:0;border:0;background:none}
.cms-mp__grid{max-height:none;overflow:visible;padding:0}
/* file browser on phones: Type, Tags and Changed are hidden (the name, size and actions stay), action buttons wrap – no horizontal scrolling */
@media (max-width:760px){
  .cms-drive__table{display:table;white-space:normal}
  .cms-drive__table th:nth-last-child(2),.cms-drive__table td:nth-last-child(2),.cms-drive__table th:nth-last-child(3),.cms-drive__table td:nth-last-child(3),.cms-drive__table th:nth-last-child(4),.cms-drive__table td:nth-last-child(4){display:none}
  .cms-drive__table td.cms-actions-cell{white-space:normal}
  .cms-drive__table td{overflow-wrap:anywhere}
}
.cms-embed__title{white-space:nowrap}
@media (max-width:480px){.cms-embed__title{display:none}}
.cms-use__h{margin:14px 0 8px;font-size:15px}
.cms-use__row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.cms-use__row form{margin:0}
.cms-dialog .cms-copyrow{margin:0 0 8px}
.cms-advanced{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.cms-advanced summary{cursor:pointer;font-weight:600;font-size:14px;color:#15224e}
.cms-advanced .cms-form{margin-top:12px}
.cms-howto{margin-bottom:16px}
.cms-howto h2{margin:0 0 8px}
.cms-howto__steps{margin:0;padding-left:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:6px 24px;font-size:14px}
.cms-howto__steps li{line-height:1.45}
/* 1129: send share link by e-mail – preview dialog */
.cms-field--wide{display:grid!important;grid-template-rows:20px auto auto;margin:0 0 12px;row-gap:4px}
.cms-field--wide textarea{width:100%;box-sizing:border-box;min-height:96px;padding:8px 10px;font:inherit;color:#15224e;border:1px solid #15224e}
.cms-dialog--mail{width:min(960px,calc(100vw - 32px))!important}
.cms-mailprev{display:block;width:600px;max-width:100%;height:70vh;border:1px solid #15224e;background:#f4f6f9;margin:0 auto}
.cms-mailprev__tools{margin:0 0 10px;justify-content:center}
.cms-mailprev__tools .cms-btn.is-on{background:#15224e;color:#fff}
.cms-mailprev__text{max-height:70vh;overflow:auto}
.cms-share-mail__sent small{color:#15224e}
/* 1129: eye toggle inside every password field */
.cms-pw{position:relative;display:block;width:100%}
.cms-pw>input[type=password],.cms-pw>input[type=text]{width:100%;padding-right:44px!important;box-sizing:border-box;margin:0}
.cms-pw__eye{position:absolute;right:1px;top:1px;bottom:1px;width:40px;border:0;background:transparent;color:#15224e;cursor:pointer;font-size:15px;display:inline-flex;align-items:center;justify-content:center}
.cms-pw__eye:hover,.cms-pw__eye:focus-visible{background:#f4f6f9;outline:2px solid #15224e;outline-offset:-2px}
.cms-login .cms-pw{margin:0}
/* 1129 (Michael): dialog fields – one-line labels, hints below, password wrapper keeps the field line, eye inside the field */
.cms-dialog .cms-row>label.cms-field,.cms-dialog .cms-field{display:grid!important;grid-template-rows:20px 40px auto;row-gap:4px;margin:0 0 12px;min-width:0}
.cms-dialog .cms-field>.cms-field__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}
.cms-dialog .cms-field>input,.cms-dialog .cms-field>select,.cms-dialog .cms-field>.cms-pw{grid-row:2;margin:0!important;height:40px;width:100%}
.cms-dialog .cms-field>.cms-hint{grid-row:3;margin:0;font-weight:400;font-size:12px;color:#15224e;white-space:normal}
.cms-row>label>.cms-pw,.cms-field>.cms-pw{grid-row:2;margin:0;height:40px}
.cms-pw>input[type=password],.cms-pw>input[type=text]{height:40px;min-height:40px;margin:0!important}
.cms-dialog .cms-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:start}
.cms-dialog form,.cms-dialog .cms-row,.cms-dialog .cms-field{max-width:100%;overflow:hidden}
/* 1129 (Michael): every text on light background is #15224e – placeholders included */
::placeholder,input::placeholder,textarea::placeholder,select::placeholder{color:#15224e!important;opacity:1!important}
input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#15224e!important;opacity:1!important}
input::-moz-placeholder,textarea::-moz-placeholder{color:#15224e!important;opacity:1!important}
/* 1129: own confirm/alert modal (no native browser dialogs) */
.cms-dialog.cms-confirm{width:min(480px,calc(100vw - 32px))!important;padding:0}
.cms-confirm__body{padding:22px 22px 18px}
.cms-confirm__text{margin:0 0 18px;font-size:15px;line-height:1.5;color:#15224e;overflow-wrap:anywhere}
.cms-confirm__actions{margin:0;gap:16px}
.cms-confirm__actions .cms-btn{height:40px;min-width:120px}
/* 1129: share page with preview really uses the width – up to 1440 px, 16 px side padding, viewer 100 % of the card */
.cms-main--guest:has(.cms-share--wide){max-width:none;width:100%;padding:0}
.cms-band:has(.cms-share--wide){max-width:none;width:100%;padding:40px 16px}
.cms-login.cms-share--wide{max-width:1440px!important;width:min(1440px,calc(100vw - 32px))!important;flex:0 0 auto}
.cms-share--wide .cms-share__frame{width:100%;height:85vh;min-height:480px}
