/* SCEMS customer portal — same tokens as the staff application (theme.css), light and dark. */
:root{
  --bg:#f4f6fa;--surface:#fff;--subtle:#f8fafc;--hover:#f2f5f9;--border:#e3e8ef;--border-strong:#cfd7e3;--line:#eef1f5;
  --text:#18212f;--text-2:#3d4757;--muted:#667085;--faint:#98a2b3;
  --primary:#12325e;--primary-hover:#0b2447;--primary-soft:#edf2f9;--primary-text:#12325e;--ring:rgba(18,50,94,.14);
  --accent:#f39200;--accent-soft:#fff5e6;--accent-text:#a35f00;
  --ok:#067647;--ok-soft:#ecfdf3;--warn:#b54708;--warn-soft:#fffaeb;--bad:#b42318;--bad-soft:#fef3f2;
  --input:#fff;--shadow:0 1px 2px rgba(16,24,40,.05);--shadow-lg:0 18px 44px rgba(16,24,40,.14);--logo-filter:none;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#0d1117;--surface:#151b24;--subtle:#1a212c;--hover:#212a36;--border:#262f3c;--border-strong:#354050;--line:#1f2732;
  --text:#e3e7ed;--text-2:#b8c0cb;--muted:#8f99a8;--faint:#6c7686;
  --primary:#3567ad;--primary-hover:#4677bd;--primary-soft:rgba(96,146,219,.15);--primary-text:#94b8ee;--ring:rgba(96,146,219,.32);
  --accent:#f39200;--accent-soft:rgba(243,146,0,.15);--accent-text:#f3b765;
  --ok:#5ccf93;--ok-soft:rgba(64,180,120,.15);--warn:#f3b765;--warn-soft:rgba(243,160,40,.14);--bad:#f4867b;--bad-soft:rgba(240,90,78,.15);
  --input:#10151d;--shadow:0 1px 2px rgba(0,0,0,.35);--shadow-lg:0 22px 52px rgba(0,0,0,.55);
  --logo-filter:invert(1) hue-rotate(180deg) saturate(1.4) brightness(1.08);
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
/* Thin scrollbars everywhere that scrolls: the full-size Firefox bar puts arrow buttons above and
   below the thumb, which reads as a broken control rather than a scrollbar. */
html body,.cp-modal-body,.cp-table-wrap,.cp-tabs{scrollbar-width:thin;scrollbar-color:#c3cbd7 #eef1f5}
:root[data-theme="dark"] body,
:root[data-theme="dark"] .cp-modal-body,
:root[data-theme="dark"] .cp-table-wrap,
:root[data-theme="dark"] .cp-tabs{scrollbar-color:#3a4555 #171d26}
body{background:var(--bg);color:var(--text);font:400 15px/1.55 'SCEMS Sans','Segoe UI',Tahoma,Arial,sans-serif;-webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;min-height:100vh}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--primary-text)}
:focus-visible{outline:2px solid var(--primary-text);outline-offset:2px}
[hidden]{display:none!important}

/* ------------------------------------------------------------------ motion */
@keyframes cpUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes cpIn{from{opacity:0}to{opacity:1}}
@keyframes cpPop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
@keyframes cpDraw{to{stroke-dashoffset:0}}
@keyframes cpPulse{0%,100%{box-shadow:0 0 0 0 var(--ring)}50%{box-shadow:0 0 0 10px transparent}}
@keyframes cpSlideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.reveal{opacity:0}
.reveal.in{animation:cpUp .5s cubic-bezier(.22,.68,.32,1) both}
.reveal.in[data-delay="1"]{animation-delay:.06s}
.reveal.in[data-delay="2"]{animation-delay:.12s}
.reveal.in[data-delay="3"]{animation-delay:.18s}
.reveal.in[data-delay="4"]{animation-delay:.24s}
.reveal.in[data-delay="5"]{animation-delay:.30s}
.reveal.in[data-delay="6"]{animation-delay:.36s}
.pulse{animation:cpPulse 2.4s ease-in-out 1.2s 3}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .reveal{opacity:1}
}

/* ------------------------------------------------------------------ header */
.cp-header{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}
.cp-header-inner{max-width:1120px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cp-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);font-weight:600}
.cp-brand img{height:38px;width:auto;filter:var(--logo-filter)}
.cp-brand span{padding-inline-start:12px;border-inline-start:1px solid var(--border)}
.cp-header-actions{display:flex;align-items:center;gap:8px}
.cp-icon-btn{width:36px;height:36px;border:1px solid var(--border);border-radius:10px;background:var(--subtle);cursor:pointer;display:inline-grid;place-items:center;color:var(--text-2);transition:background-color .15s,color .15s}
.cp-icon-btn:hover{background:var(--hover);color:var(--text)}
.cp-icon-btn::before{content:"";width:18px;height:18px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z'/%3E%3C/svg%3E") center/contain no-repeat}
:root[data-theme="dark"] .cp-icon-btn::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4'/%3E%3C/svg%3E")}
.cp-lang{height:36px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);cursor:pointer;font-weight:500;color:var(--text-2);transition:background-color .15s}
.cp-lang:hover{background:var(--hover)}
.cp-account{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-2)}
.cp-link{border:0;background:none;color:var(--primary-text);font-weight:600;cursor:pointer;padding:4px;text-decoration:underline;text-underline-offset:3px}

.cp-main{max-width:1120px;width:100%;margin:0 auto;padding:28px 20px 56px;flex:1}
.cp-loading{color:var(--muted);text-align:center;padding:60px 0}

/* ------------------------------------------------------------------ sign in / sign up */
.cp-auth{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,430px);gap:56px;align-items:start;padding-top:20px}
.cp-eyebrow{margin:0 0 10px;color:var(--accent-text);font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.cp-auth-intro h1{font-size:clamp(28px,3.6vw,40px);line-height:1.2;margin:0 0 16px;font-weight:700;text-wrap:balance;letter-spacing:-.015em}
.cp-lead{color:var(--text-2);font-size:17px;max-width:54ch;margin:0 0 28px}

/* animated journey */
.cp-journey{margin:0 0 30px}
.cp-journey-svg{width:100%;max-width:540px;height:auto;overflow:visible}
.cp-j-track{stroke:var(--border);stroke-width:3;stroke-linecap:round}
.cp-j-fill{stroke-width:3;stroke-linecap:round;stroke-dasharray:436;stroke-dashoffset:436;animation:cpDraw 2.4s .5s cubic-bezier(.4,0,.2,1) forwards}
.cp-j-node circle{fill:var(--surface);stroke:var(--border-strong);stroke-width:2}
.cp-j-node{opacity:0;animation:cpPop .5s both;animation-delay:calc(.6s + var(--i) * .58s)}
.cp-j-node circle{animation:none}
.cp-j-check{fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;stroke-dashoffset:20;
  animation:cpDraw .4s both;animation-delay:calc(.85s + var(--i) * .58s)}
.cp-j-label{fill:var(--muted);font-size:12.5px;font-weight:500;text-anchor:middle;opacity:0;animation:cpIn .5s both;animation-delay:calc(.75s + var(--i) * .58s)}
[dir="rtl"] .cp-j-label{direction:rtl}

.cp-benefits{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.cp-benefits li{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center}
.cp-benefits b{font-size:15px;font-weight:600}
.cp-benefits span:last-child{grid-column:2;color:var(--muted);font-size:14px;line-height:1.5}
.cp-benefit-icon{grid-row:span 2;width:38px;height:38px;border-radius:11px;background:var(--primary-soft);display:grid;place-items:center;color:var(--primary-text)}
.cp-benefit-icon::before{content:"";width:19px;height:19px;background:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.cp-benefit-icon[data-icon="shield"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E")}
.cp-benefit-icon[data-icon="clock"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
.cp-benefit-icon[data-icon="eye"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7-10-7-10-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7-10-7-10-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E")}

.cp-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:24px}
.cp-auth-card{padding:8px 24px 20px;box-shadow:var(--shadow-lg)}
.cp-fine{color:var(--faint);font-size:12.5px;margin:16px 0 0;text-align:center}
.cp-consent{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--text-2);line-height:1.5;flex-wrap:wrap}
.cp-consent input{width:18px;height:18px;margin-top:1px;accent-color:var(--primary);flex:none}
.cp-consent .cp-link{padding:0}

.cp-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px;overflow-x:auto}
.cp-tab{border:0;background:none;padding:12px 14px;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--muted);font-weight:500;cursor:pointer;white-space:nowrap;transition:color .15s}
.cp-tab:hover{color:var(--text)}
.cp-tab.active{color:var(--primary-text);border-bottom-color:var(--accent);font-weight:600}
.cp-nav{margin-top:8px}

.cp-form{display:grid;gap:14px}
.cp-field{display:grid;gap:6px;font-size:13px;font-weight:500;color:var(--text-2);min-width:0}
.cp-field > span{display:flex;align-items:center;gap:6px}
.cp-field input,.cp-field select,.cp-field textarea{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--input);font-size:15px;font-weight:400;color:var(--text);transition:border-color .15s,box-shadow .15s}
.cp-field textarea{min-height:88px;resize:vertical}
.cp-field input:hover:not(:focus),.cp-field select:hover:not(:focus),.cp-field textarea:hover:not(:focus){border-color:var(--muted)}
.cp-field input:focus,.cp-field select:focus,.cp-field textarea:focus{outline:none;border-color:var(--primary-text);box-shadow:0 0 0 3px var(--ring)}
.cp-field input:disabled,.cp-field select:disabled{opacity:.6;cursor:not-allowed}
.cp-field .req{color:var(--accent-text)}
.cp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:14px}
.cp-grid .wide{grid-column:1/-1}

/* info button + popover */
.cp-info{width:18px;height:18px;flex:none;border:0;border-radius:50%;background:var(--primary-soft);color:var(--primary-text);font:600 11px/18px 'SCEMS Sans',sans-serif;cursor:pointer;padding:0;transition:transform .15s,background-color .15s}
.cp-info:hover{transform:scale(1.15);background:var(--accent-soft);color:var(--accent-text)}
.cp-popover{position:fixed;z-index:60;opacity:0;transform:translateY(-6px);transition:opacity .18s,transform .18s}
.cp-popover.in{opacity:1;transform:none}
.cp-popover-inner{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:14px 16px}
.cp-popover h3{margin:0 0 6px;font-size:14.5px;font-weight:600}
.cp-popover div{color:var(--text-2);font-size:13.5px;line-height:1.55;margin-bottom:12px}

.cp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 16px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);font-weight:600;cursor:pointer;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,transform .1s}
.cp-btn:hover{background:var(--hover);color:var(--text)}
.cp-btn:active{transform:translateY(1px)}
.cp-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}
.cp-btn.primary:hover{background:var(--primary-hover);color:#fff}
.cp-btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}
.cp-btn.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,transparent)}
.cp-btn.small{min-height:32px;padding:0 10px;font-size:13px;border-radius:8px}
.cp-btn.block{width:100%}
.cp-btn:disabled{opacity:.55;cursor:progress}
.cp-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cp-actions.end{justify-content:flex-end}
.cp-autosave{color:var(--ok);font-size:13px;margin-inline-end:auto;opacity:0;transition:opacity .3s}
.cp-autosave.in{opacity:1}

.cp-error{margin:0;padding:10px 12px;border-radius:10px;background:var(--bad-soft);color:var(--bad);font-size:14px}

/* status banner */
.cp-banner{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;padding:18px 20px;border-radius:14px;border:1px solid var(--border);background:var(--surface);margin-bottom:18px}
.cp-banner h2{margin:0 0 4px;font-size:19px;font-weight:600}
.cp-banner p{margin:0;color:var(--text-2);max-width:70ch}
.cp-banner.info{background:var(--primary-soft);border-color:transparent}
.cp-banner.warn{background:var(--warn-soft);border-color:transparent}
.cp-banner.bad{background:var(--bad-soft);border-color:transparent}
.cp-banner.ok{background:var(--ok-soft);border-color:transparent}
.cp-note{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:14px;white-space:pre-line}

/* progress */
.cp-progress{margin:0 0 18px}
.cp-progress-bar{height:8px;border-radius:99px;background:var(--border);overflow:hidden}
.cp-progress-bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--primary-text));transition:width .45s cubic-bezier(.3,.7,.3,1)}
.cp-progress small{display:block;margin-top:6px;color:var(--muted);font-size:12.5px}

.cp-section{margin-top:18px}
.cp-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.cp-section-head h3{margin:0;font-size:17px;font-weight:600;display:flex;align-items:center;gap:8px}
.cp-section-head p{margin:2px 0 0;color:var(--muted);font-size:13.5px;max-width:68ch}
.cp-item{border:1px solid var(--border);border-radius:12px;padding:16px;background:var(--subtle);display:grid;gap:14px;animation:cpUp .35s both}
.cp-item + .cp-item{margin-top:12px}
.cp-item-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:600;color:var(--text)}
.cp-empty{padding:18px;border:1px dashed var(--border-strong);border-radius:12px;color:var(--muted);text-align:center;font-size:14px}

.cp-badge{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--hover);color:var(--text-2);white-space:nowrap}
.cp-badge.Submitted{background:var(--primary-soft);color:var(--primary-text)}
.cp-badge.Returned{background:var(--warn-soft);color:var(--warn)}
.cp-badge.Approved{background:var(--ok-soft);color:var(--ok)}
.cp-badge.Rejected{background:var(--bad-soft);color:var(--bad)}
.cp-code{font-family:ui-monospace,Consolas,monospace;font-size:13px;direction:ltr;unicode-bidi:isolate}

.cp-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.cp-table{width:100%;border-collapse:collapse;font-size:14px}
.cp-table th{text-align:start;font-size:12px;font-weight:600;color:var(--muted);background:var(--subtle);padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}
.cp-table td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.cp-table tbody tr{transition:background-color .15s}
.cp-table tbody tr:hover{background:var(--subtle)}
.cp-table tr:last-child td{border-bottom:0}
.cp-kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 20px;margin:0}
.cp-kv div{min-width:0}
.cp-kv dt{font-size:12px;color:var(--muted)}
.cp-kv dd{margin:2px 0 0;font-weight:500;overflow-wrap:anywhere}
.cp-files{display:grid;gap:8px}
.cp-file{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:14px;animation:cpUp .3s both}
.cp-sticky{position:sticky;bottom:0;margin-top:20px;padding:14px 0;background:linear-gradient(to top,var(--bg) 72%,transparent)}

/* help */
.cp-faq{border-bottom:1px solid var(--line);padding:4px 0}
.cp-faq:last-of-type{border-bottom:0}
.cp-faq summary{cursor:pointer;padding:12px 4px;font-weight:600;list-style:none;display:flex;align-items:center;gap:10px}
.cp-faq summary::-webkit-details-marker{display:none}
.cp-faq summary::before{content:"";width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .2s;flex:none}
[dir="rtl"] .cp-faq summary::before{transform:rotate(135deg)}
.cp-faq[open] summary::before{transform:rotate(45deg)}
.cp-faq p{margin:0 0 14px;padding-inline-start:18px;color:var(--text-2);max-width:72ch;animation:cpUp .25s both}

/* legal modal */
.cp-modal-bg{position:fixed;inset:0;z-index:70;background:rgba(16,24,40,.5);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;animation:cpIn .2s both}
.cp-modal{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-lg);width:min(720px,100%);max-height:86vh;display:flex;flex-direction:column;animation:cpSlideUp .3s both}
.cp-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border)}
.cp-modal-head h2{margin:0;font-size:19px;font-weight:600}
.cp-modal-body{padding:20px 24px 26px;overflow:auto;color:var(--text-2);line-height:1.65}
.cp-modal-body h3{color:var(--text);font-size:15px;font-weight:600;margin:20px 0 6px}
.cp-modal-body h3:first-of-type{margin-top:0}
.cp-modal-body p,.cp-modal-body ul{margin:0 0 10px;max-width:70ch}
.cp-modal-body ul{padding-inline-start:20px}
.cp-modal-body li{margin-bottom:6px}
.cp-legal-date{color:var(--faint);font-size:12.5px}

/* cookie bar */
.cp-cookie{position:fixed;inset-inline:16px;bottom:16px;z-index:65;max-width:640px;margin-inline:auto;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:14px 18px;animation:cpSlideUp .4s both}
.cp-cookie p{margin:0;font-size:13.5px;color:var(--text-2);max-width:46ch}
.cp-cookie b{color:var(--text)}
.cp-cookie-actions{display:flex;gap:8px;align-items:center}

/* footer */
.cp-footer{border-top:1px solid var(--border);background:var(--surface);padding:16px 20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  font-size:13px;color:var(--muted);max-width:none}
.cp-footer-links{display:flex;gap:16px;flex-wrap:wrap}

.cp-toast{position:fixed;inset-inline-end:20px;bottom:20px;z-index:80;max-width:min(420px,calc(100vw - 40px));padding:12px 16px;border-radius:10px;background:var(--text);color:var(--bg);font-size:14px;box-shadow:var(--shadow-lg)}
.cp-toast.in{animation:cpSlideUp .3s both}

@media (max-width:900px){
  .cp-auth{grid-template-columns:1fr;gap:28px;padding-top:0}
  .cp-brand span{display:none}
}
@media (max-width:480px){
  .cp-main{padding:18px 16px 48px}
  .cp-card{padding:18px}
  .cp-account span{display:none}
  .cp-cookie{inset-inline:10px;bottom:10px;padding:14px}
  .cp-footer{flex-direction:column;gap:8px}
}
