
:root{--bg:#f4f7fb;--bg-soft:#eef4ff;--card:#ffffff;--card-2:#f8fbff;--line:#dce7f6;--text:#18324b;--muted:#5d7389;--primary:#2377ff;--primary-soft:#e9f1ff;--secondary:#17b37f;--secondary-soft:#eafaf4;--danger:#d74e4e;--danger-soft:#fff1f1;--warning:#b67b00;--warning-soft:#fff7df;--shadow:0 18px 40px rgba(21,54,93,.10);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);min-height:100vh;background:radial-gradient(circle at top right, rgba(35,119,255,.10), transparent 28%),radial-gradient(circle at top left, rgba(23,179,127,.08), transparent 32%),linear-gradient(180deg,#f7fbff 0%,#eef4fb 100%)}a{color:inherit;text-decoration:none}.app-shell{max-width:1240px;margin:0 auto;padding:20px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;margin-bottom:20px;background:rgba(255,255,255,.84);border:1px solid rgba(220,231,246,.9);backdrop-filter:blur(10px);border-radius:28px;box-shadow:var(--shadow)}.eyebrow{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--primary)}h1,h2,h3,p{margin:0}h1{font-size:1.9rem;margin-top:4px}.top-actions{display:flex;flex-wrap:wrap;gap:10px}.top-actions a{padding:10px 14px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line);color:var(--text);font-weight:600}.top-actions a:hover{background:#fff}.content{display:grid;gap:20px}.footer{padding:18px 10px 8px;color:var(--muted);text-align:center;font-size:.95rem}.hero{display:grid;grid-template-columns:1.15fr .95fr;gap:20px}.hero-card,.glass-card,.panel,.doc-card,.stat{background:var(--card);border:1px solid rgba(220,231,246,.95);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card{padding:30px;display:flex;flex-direction:column;gap:18px;min-height:280px;justify-content:center}.hero-card h2{font-size:2.35rem;line-height:1.08;max-width:14ch}.hero-card p{color:var(--muted);font-size:1.05rem;line-height:1.6}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.glass-card{padding:22px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,#fff,#f8fbff)}.glass-card strong{font-size:1.06rem}.glass-card span{color:var(--muted);line-height:1.5}.badge,.chip,.doc-type{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-weight:700;font-size:.85rem}.badge{background:var(--primary-soft);color:var(--primary);width:max-content}.panel{padding:24px}.panel h2{margin-bottom:16px;font-size:1.45rem}.narrow{max-width:620px;margin:0 auto;width:100%}.grid{display:grid;gap:20px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{display:grid;gap:14px}label{display:grid;gap:8px;font-weight:600;color:var(--text)}input,select{width:100%;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--text);font-size:1rem;outline:none;transition:.18s ease}input:focus,select:focus{border-color:rgba(35,119,255,.55);box-shadow:0 0 0 4px rgba(35,119,255,.10)}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border-radius:14px;border:1px solid transparent;cursor:pointer;font-weight:700;font-size:.98rem}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{filter:brightness(.97)}.btn-secondary{background:var(--secondary-soft);color:var(--secondary);border-color:rgba(23,179,127,.18)}.btn-secondary:hover{background:#dff7ee}.btn-ghost{background:#fff;color:var(--text);border-color:var(--line)}.btn-ghost:hover{background:var(--bg-soft)}.flash{padding:14px 16px;border-radius:16px;font-weight:600;border:1px solid transparent}.flash-info,.flash-success{background:var(--secondary-soft);color:#16704f;border-color:rgba(23,179,127,.18)}.flash-warning{background:var(--warning-soft);color:var(--warning);border-color:#f0dc93}.flash-error{background:var(--danger-soft);color:var(--danger);border-color:#f2c4c4}.help-text{color:var(--muted);line-height:1.6}.stacked-help{display:grid;gap:10px;margin-bottom:14px}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stat{padding:18px;display:grid;gap:8px;background:linear-gradient(180deg,#fff,#f9fbff)}.stat span{color:var(--muted);font-size:.95rem}.stat strong{font-size:1.75rem}.meta-list{display:grid;gap:12px}.meta-list div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #eef3f8}.meta-list div:last-child{border-bottom:none;padding-bottom:0}.meta-list span{color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{background:var(--bg-soft);color:var(--primary);border:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}.docs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.doc-card{padding:18px;display:grid;gap:10px;background:linear-gradient(180deg,#fff,#f9fbff)}.doc-card h3{font-size:1.05rem;line-height:1.35}.doc-card p{color:var(--muted);font-size:.96rem}.doc-type{background:var(--primary-soft);color:var(--primary);width:max-content}.doc-actions{display:grid;gap:10px;margin-top:4px}.inline-form{display:grid;grid-template-columns:1fr auto;gap:8px}.inline-form input{min-width:0}.badge.success{background:var(--secondary-soft);color:#16704f;border:1px solid rgba(23,179,127,.15)}@media (max-width:940px){.hero,.grid.two{grid-template-columns:1fr}.hero-card h2{max-width:none;font-size:2rem}}@media (max-width:720px){.app-shell{padding:14px}.topbar{flex-direction:column;align-items:flex-start;padding:18px}.hero-grid,.stats-grid{grid-template-columns:1fr}.panel,.hero-card,.glass-card{padding:20px}.hero-card h2{font-size:1.75rem}.meta-list div,.section-head{flex-direction:column;align-items:flex-start}.top-actions{width:100%}.top-actions a{flex:1 1 auto;text-align:center}}

.top-gap{margin-top:14px}

.stats-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.accent-panel{background:linear-gradient(180deg,#ffffff,#f4f9ff)}
.meta-list.compact div{padding:10px 0}.wrap{flex-wrap:wrap}.filters-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px;align-items:end}.filter-actions{display:flex;gap:10px;align-items:end}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:20px;background:#fff}.data-table{width:100%;border-collapse:collapse;min-width:980px}.data-table th,.data-table td{padding:14px 16px;border-bottom:1px solid #edf2f8;text-align:left;vertical-align:top}.data-table th{background:#f7fbff;font-size:.9rem;color:var(--muted);font-weight:700}.data-table tbody tr:hover{background:#fbfdff}.muted-line{font-size:.9rem;color:var(--muted);margin-top:4px}.table-actions{display:flex;flex-wrap:wrap;gap:8px}.badge.warning{background:var(--warning-soft);color:var(--warning);border:1px solid #f0dc93}
@media (max-width:940px){.stats-grid-3,.filters-grid{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.filters-grid{grid-template-columns:1fr}.filter-actions{flex-direction:column;align-items:stretch}.table-actions{flex-direction:column}}


.filters-grid-employee{grid-template-columns:repeat(3,minmax(0,1fr))}
.help-box{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff}
.help-box span{color:var(--muted);line-height:1.55;font-size:.95rem}
.months-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.month-card{padding:18px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#fff,#f9fbff);display:grid;gap:12px;min-height:250px}
.month-card.empty{opacity:.88;background:linear-gradient(180deg,#fbfdff,#f5f8fc)}
.month-card.available{box-shadow:var(--shadow)}
.month-card h3{font-size:1.08rem}
.month-card p{color:var(--muted);line-height:1.45;word-break:break-word}
.month-meta{display:grid;gap:6px;color:var(--muted);font-size:.94rem}
@media (max-width:940px){.filters-grid-employee{grid-template-columns:1fr}}

.full-width{width:100%}


.badge.danger{background:var(--danger-soft);color:var(--danger);border:1px solid #f2c4c4}
.month-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.month-pill{display:grid;gap:6px;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:#fff;transition:.18s ease;box-shadow:0 8px 22px rgba(21,54,93,.06)}
.month-pill strong{font-size:1rem}
.month-pill span{font-size:.92rem;color:var(--muted)}
.month-pill.ok{background:linear-gradient(180deg,#f4fff8,#ebfbf1);border-color:#bfe8cd}
.month-pill.ok strong{color:#14714f}
.month-pill.ko{background:linear-gradient(180deg,#fff7f7,#fff0f0);border-color:#f1c5c5}
.month-pill.ko strong{color:#b54242}
.month-pill.selected{outline:3px solid rgba(35,119,255,.16);transform:translateY(-1px)}
.docs-grid-month{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.month-doc-card{min-height:320px}
.empty-month-box{display:grid;gap:12px;padding:18px;border:1px dashed #e0b5b5;border-radius:18px;background:linear-gradient(180deg,#fff,#fff7f7)}
.inline-form-stack-mobile{grid-template-columns:1fr auto}
@media (max-width:720px){.inline-form-stack-mobile{grid-template-columns:1fr}.month-picker-grid{grid-template-columns:1fr 1fr}}


.dashboard-top-grid{align-items:start}
.compact-panel{padding:22px}
.compact-meta-list div{padding:10px 0}
.filters-grid-employee-inline{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}
.selector-panel h2{margin-bottom:14px}
.selected-month-status{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:#fff}
.selected-month-status strong{font-size:1rem}
.selected-month-status span{color:var(--muted);font-weight:600}
.selected-month-status.ok{background:linear-gradient(180deg,#f4fff8,#ebfbf1);border-color:#bfe8cd}
.selected-month-status.ok strong{color:#14714f}
.selected-month-status.ko{background:linear-gradient(180deg,#fff7f7,#fff0f0);border-color:#f1c5c5}
.selected-month-status.ko strong{color:#b54242}
.compact-empty-box{padding:16px 18px}
@media (max-width:940px){.filters-grid-employee-inline{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:720px){.filters-grid-employee-inline{grid-template-columns:1fr}.selected-month-status{flex-direction:column;align-items:flex-start}}

.full-span{grid-column:1 / -1}
.admin-tabs{display:flex;flex-wrap:wrap;gap:10px}
.admin-tab{padding:12px 16px;border-radius:14px;border:1px solid var(--line);background:#fff;font-weight:700;color:var(--muted)}
.admin-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}
.quick-links-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.quick-link-card{display:grid;gap:8px;padding:18px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 12px 28px rgba(21,54,93,.06)}
.quick-link-card strong{font-size:1.02rem}
.quick-link-card span{color:var(--muted);line-height:1.45}
@media (max-width:940px){.quick-links-grid{grid-template-columns:1fr}}

.compact-admin-nav{padding:18px 22px}.admin-nav-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.compact-admin-nav h2{margin:4px 0 0 0;font-size:1.25rem}.admin-tabs{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.admin-tab{padding:12px 16px;border-radius:14px;border:1px solid var(--line);background:#fff;font-weight:700;color:var(--muted)}.admin-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.admin-tabs .admin-tab:last-child{min-width:170px;text-align:center}@media (max-width:720px){.compact-admin-nav{padding:18px}.admin-nav-header{align-items:flex-start}.admin-tabs{width:100%}.admin-tabs .admin-tab{flex:1 1 calc(50% - 10px);text-align:center}}


.topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.language-switcher{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line)}
.language-switcher label{display:block;font-size:.82rem;font-weight:700;color:var(--muted)}
.language-switcher select{min-width:118px;padding:8px 12px;border-radius:999px}
.slim-help{margin-bottom:14px}
.employee-dashboard-shell{display:grid;gap:18px}
.employee-shell-head h2{margin-bottom:6px}
.employee-doc-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
.employee-doc-single{padding:24px;min-height:unset}
.doc-headline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.employee-doc-actions{display:grid;gap:12px}
.compact-help{margin:0}
.otp-download-form{max-width:520px}
.pager{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.pager-summary{color:var(--muted);font-weight:600}
.pager-actions{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:940px){.employee-doc-filters{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:720px){
  .topbar{padding:18px}
  .topbar-right{width:100%;justify-content:stretch}
  .language-switcher{width:100%;justify-content:space-between}
  .language-switcher select{min-width:0;flex:1}
  .top-actions{width:100%}
  .top-actions a{flex:1 1 calc(50% - 6px);justify-content:center;text-align:center}
  .employee-doc-filters{grid-template-columns:1fr}
  .doc-headline{align-items:flex-start}
  .pager{align-items:flex-start}
}


.login-choice-wrap{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 250px)}
.login-choice-panel{padding:34px 30px;display:grid;gap:18px;text-align:center;max-width:520px}
.login-choice-panel h2{font-size:2rem;margin-bottom:4px}
.centered-text{text-align:center}
.login-choice-actions{display:grid;gap:12px;margin-top:4px}
@media (max-width:720px){
  .login-choice-wrap{min-height:auto}
  .login-choice-panel{padding:24px 18px}
  .login-choice-panel h2{font-size:1.7rem}
}


.login-alert{display:grid;gap:8px;margin-bottom:16px;padding:16px 18px;border-radius:18px;border:1px solid #f0c1c1;background:linear-gradient(180deg,#fff5f5,#fff1f1);color:#b02323;font-weight:700;line-height:1.55}
.login-alert p{margin:0}
.pdf-preview-card{margin:10px 0 16px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#f8fbff;box-shadow:0 12px 26px rgba(21,54,93,.08)}
.pdf-preview-card iframe{display:block;width:100%;height:72vh;min-height:520px;border:0;background:#fff}
.quick-link-card span:empty{display:none}
@media (max-width:720px){
  .pdf-preview-card iframe{height:58vh;min-height:420px}
  .login-alert{padding:14px 16px}
}

.preview-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px}
.preview-modal[hidden]{display:none}
.preview-modal-backdrop{position:absolute;inset:0;background:rgba(11,27,45,.62);backdrop-filter:blur(4px)}
.preview-modal-card{position:relative;z-index:1;width:min(1100px,100%);max-height:calc(100vh - 40px);background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 70px rgba(10,31,56,.26);display:grid;overflow:hidden}
.preview-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);background:#f8fbff}
.preview-modal-head .muted-line{display:none}
.preview-modal-body{padding:0;background:#eef4fb}
.preview-modal-body iframe{display:block;width:100%;height:78vh;min-height:620px;border:0;background:#eef4fb}
body.modal-open{overflow:hidden}
@media (max-width:720px){
  .preview-modal{padding:10px}
  .preview-modal-card{max-height:calc(100vh - 20px);border-radius:18px}
  .preview-modal-head{padding:14px;flex-direction:column;align-items:stretch}
  .preview-modal-body iframe{height:74vh;min-height:520px}
}

/* v25 UI refresh */
body{background:linear-gradient(180deg,#f7fbff 0%,#edf4fb 100%)}
.app-shell{max-width:1160px;padding:18px}
.topbar{position:sticky;top:10px;z-index:50;padding:18px 20px;border-radius:24px;background:rgba(255,255,255,.92);box-shadow:0 14px 36px rgba(14,38,68,.10)}
.topbar h1{font-size:clamp(1.8rem,2.8vw,2.5rem);letter-spacing:-.02em}
.topbar-right{gap:10px}
.language-switcher{padding:8px 10px;background:#f3f7fd}
.language-switcher label{margin:0}
.top-actions a{min-height:42px;padding:10px 16px;border-radius:999px;background:#f7fbff}
.content{gap:18px}
.panel,.hero-card,.glass-card,.doc-card,.stat{border-radius:20px;box-shadow:0 14px 34px rgba(18,44,76,.08)}
.panel{padding:22px}
.panel h2{font-size:1.5rem;letter-spacing:-.02em}
.help-text{font-size:.98rem}
.compact-admin-nav{padding:16px 18px}
.admin-nav-header{display:grid;gap:14px}
.admin-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:10px;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:#c3d8fb transparent}
.admin-tabs::-webkit-scrollbar{height:6px}
.admin-tabs::-webkit-scrollbar-thumb{background:#c3d8fb;border-radius:999px}
.admin-tab{white-space:nowrap;min-width:max-content;padding:11px 16px;border-radius:999px;background:#f7fbff;color:#34506d;border-color:#d7e5f6;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.admin-tab.active{box-shadow:none}
.stats-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat{padding:16px 18px;gap:6px}
.stat strong{font-size:1.7rem}
.table-wrap{border-radius:18px}
.data-table th,.data-table td{padding:13px 14px}
.filters-grid{grid-template-columns:repeat(4,minmax(0,1fr)) auto}
.employee-dashboard-shell{gap:16px;padding:20px}
.employee-shell-head{margin-bottom:2px}
.employee-shell-head h2{font-size:1.5rem}
.employee-doc-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.employee-doc-single{padding:20px;border-radius:20px;background:linear-gradient(180deg,#fff,#f9fbff)}
.doc-headline{margin-bottom:4px}
.doc-headline .badge,.doc-headline .doc-type{font-size:.82rem}
.doc-actions.employee-doc-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.doc-actions.employee-doc-actions form{display:grid}
.otp-download-form{max-width:none}
.otp-download-form .btn{margin-top:4px}
.empty-month-box.compact-empty-box{padding:22px;background:#fff;border-style:solid;border-color:#dce7f6}
.login-choice-wrap{min-height:calc(100vh - 220px)}
.login-choice-panel{padding:30px 26px;max-width:480px;border-radius:24px}
.login-choice-panel h2{font-size:2.1rem}
.login-choice-actions .btn{min-height:52px;font-size:1rem}
.preview-modal{padding:16px}
.preview-modal-card{width:min(980px,100%);border-radius:22px}
.preview-modal-head{padding:16px 18px;background:#f7fbff}
.preview-modal-head strong{font-size:1.15rem}
.preview-modal-head .btn{min-height:42px}
.preview-modal-body iframe{height:min(80vh,920px);min-height:620px;background:#eef4fb}
.footer{padding:14px 8px 2px;font-weight:600;color:#5f7590}

@media (max-width:980px){
  .app-shell{padding:14px}
  .grid.two,.stats-grid-3{grid-template-columns:1fr 1fr}
  .filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .doc-actions.employee-doc-actions{grid-template-columns:1fr}
}

@media (max-width:720px){
  .app-shell{padding:10px}
  .topbar{top:6px;padding:16px;border-radius:20px}
  .topbar-right{width:100%;display:grid;grid-template-columns:1fr;gap:10px}
  .language-switcher{width:100%;border-radius:18px;padding:10px 12px;display:grid;grid-template-columns:auto 1fr;align-items:center}
  .language-switcher select{width:100%}
  .top-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .top-actions a{width:100%;min-height:44px;padding:10px 12px}
  .panel,.hero-card,.glass-card,.doc-card,.stat{border-radius:18px}
  .panel{padding:18px}
  .compact-admin-nav{padding:14px}
  .admin-nav-header{gap:10px}
  .admin-tabs{gap:8px;padding-bottom:2px}
  .admin-tab{padding:10px 14px;font-size:.95rem}
  .grid.two,.stats-grid-3,.filters-grid,.employee-doc-filters,.hero-grid,.docs-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .section-head{gap:10px}
  .section-head .table-actions{width:100%;display:grid;grid-template-columns:1fr}
  .table-actions .btn{width:100%}
  .doc-actions.employee-doc-actions{grid-template-columns:1fr}
  .doc-actions.employee-doc-actions .btn{width:100%}
  .login-choice-wrap{min-height:auto;padding-top:4px}
  .login-choice-panel{padding:22px 18px}
  .login-choice-panel h2{font-size:1.8rem}
  .preview-modal{padding:8px}
  .preview-modal-card{width:100%;max-height:calc(100vh - 16px);border-radius:18px}
  .preview-modal-head{padding:12px 14px}
  .preview-modal-body iframe{height:76vh;min-height:420px}
  .footer{padding-top:8px;font-size:.92rem}
}

.preview-images{display:grid;gap:12px;width:100%;}
.preview-inline-page{background:#fff;border:1px solid #d8e4f2;border-radius:14px;padding:8px;box-shadow:0 10px 28px rgba(10,31,56,.08);}
.preview-inline-page img{display:block;width:100%;height:auto;border-radius:10px;user-select:none;-webkit-user-drag:none;}


/* v28 preview half-window with internal scroll */
.preview-modal{padding:24px;}
.preview-modal-card{width:min(780px,68vw);max-height:82vh;border-radius:22px;display:flex;flex-direction:column;overflow:hidden;}
.preview-modal-head{flex:0 0 auto;position:sticky;top:0;z-index:2;background:#f7fbff;}
.preview-modal-body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:14px;background:#eef4fb;scrollbar-width:thin;scrollbar-color:#9fbde6 #dfeaf7;}
.preview-modal-body::-webkit-scrollbar{width:10px;}
.preview-modal-body::-webkit-scrollbar-track{background:#dfeaf7;border-radius:999px;}
.preview-modal-body::-webkit-scrollbar-thumb{background:#9fbde6;border-radius:999px;}
.preview-images{gap:14px;max-width:620px;margin:0 auto;}
.preview-inline-page{padding:10px;border-radius:16px;}
.preview-inline-page img{width:100%;height:auto;object-fit:contain;}
body.modal-open{overflow:hidden;touch-action:none;}
@media (max-width:980px){
  .preview-modal-card{width:min(860px,78vw);max-height:84vh;}
  .preview-images{max-width:560px;}
}
@media (max-width:720px){
  .preview-modal{padding:10px;align-items:flex-start;}
  .preview-modal-card{width:92vw;max-width:92vw;max-height:80vh;border-radius:18px;margin-top:8px;}
  .preview-modal-head{padding:12px 14px;}
  .preview-modal-head .btn{width:100%;}
  .preview-modal-body{padding:10px 8px 14px;}
  .preview-images{max-width:none;gap:10px;}
  .preview-inline-page{padding:8px;}
}


/* v29 preview hardening and mobile partial view */
.preview-modal-card{-webkit-user-select:none;user-select:none;}
.preview-modal-body{overscroll-behavior:contain;}
.preview-inline-page{overflow:auto;-webkit-overflow-scrolling:touch;}
.preview-inline-page img{pointer-events:none;}
@media (max-width: 768px){
  .preview-modal{padding:8px;align-items:flex-start;}
  .preview-modal-card{width:88vw;max-width:88vw;max-height:72vh;margin-top:10px;}
  .preview-modal-body{padding:10px;}
  .preview-images{max-width:none;width:100%;}
  .preview-inline-page{padding:8px;overflow-x:auto;overflow-y:hidden;}
  .preview-inline-page img{width:130vw;max-width:none;height:auto;}
}
@media (min-width: 769px){
  .preview-inline-page img{max-width:100%;height:auto;}
}


.panel-subsection {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.compact-head {
  margin-bottom: 0.85rem;
}

.separate-doc-section {
  margin-top: 1.5rem;
}

.simple-doc-list {
  display: grid;
  gap: 0.75rem;
}

.simple-doc-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;
  background: #fff;
}

@media (max-width: 768px) {
  .simple-doc-row {
    flex-direction: column;
    align-items: stretch;
  }
}
