.sg-doc-library { --doc-ink:#182842; --doc-muted:#4e607a; --doc-line:#dce4ef; --doc-accent:#243f68; color:var(--doc-ink); padding-bottom:3rem; }
.sg-doc-hero { border-radius:20px; padding:clamp(1.45rem,4vw,2.6rem); color:#f7f9fe; background:radial-gradient(ellipse at right top,#304e78,transparent 62%),#12243e; box-shadow:0 10px 24px #12243e26; }
.sg-doc-kicker { font-size:.72rem; font-weight:700; letter-spacing:.16em; color:#d4e0f3; }
.sg-doc-hero h1 { font-size:clamp(2.3rem,6vw,3.4rem); line-height:1.12; color:inherit; margin:.35rem 0 .55rem; }
.sg-doc-hero p { color:#e1eaf8; max-width:36rem; }
.sg-doc-stats { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.2rem; }
.sg-doc-stats span { background:#ffffff12; border:1px solid #ffffff32; border-radius:30px; padding:.35rem .75rem; font-size:.82rem; }
.sg-doc-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(11rem, .36fr); gap:1rem; padding:1rem 0 .45rem; }
.sg-doc-controls label { font-weight:650; font-size:.85rem; display:grid; gap:.35rem; }
.sg-doc-controls input,.sg-doc-controls select { background:#fff; border:1px solid #c7d4e5; border-radius:10px; color:var(--doc-ink); width:100%; padding:.7rem .8rem; font:inherit; font-weight:400; }
.sg-doc-result { color:var(--doc-muted); display:flex; flex-wrap:wrap; justify-content:space-between; gap:.6rem; font-size:.84rem; min-height:2.65rem; align-items:center; }
.sg-doc-result button,.sg-doc-empty button { color:var(--doc-accent); text-decoration:underline; text-underline-offset:3px; }
.sg-doc-grid { display:grid; gap:.6rem; }
.sg-doc-card { border:1px solid var(--doc-line); background:#fff; border-radius:13px; overflow:hidden; }
.sg-doc-folder { display:grid; width:100%; grid-template-columns:auto minmax(0,1fr) auto auto; gap:.75rem; align-items:center; padding:.8rem .95rem; text-align:left; }
.sg-doc-folder:hover,.sg-doc-folder[aria-expanded=true] { background:#f3f7fd; }
.sg-doc-icon { display:grid; place-items:center; background:#e6eef9; color:var(--doc-accent); width:2.55rem; height:2.55rem; border-radius:10px; }
.sg-doc-foldername { display:grid; gap:.08rem; overflow-wrap:anywhere; }
.sg-doc-ref { color:var(--doc-accent); font-size:.72rem; font-weight:700; letter-spacing:.045em; }
.sg-doc-count { color:var(--doc-muted); font-size:.76rem; white-space:nowrap; }
.sg-doc-chevron { color:var(--doc-accent); font-size:1.25rem; width:.8rem; text-align:center; }
.sg-doc-sections { padding:.3rem .95rem .95rem; }
.sg-doc-sections h3 { display:flex; align-items:center; gap:.5rem; font:inherit; font-size:.87rem; font-weight:700; color:var(--doc-accent); margin-top:.95rem; padding-bottom:.4rem; border-bottom:1px solid var(--doc-line); }
.sg-doc-sections h3 span { font-size:.72rem; color:var(--doc-muted); background:#eaf1fb; border-radius:20px; padding:.07rem .42rem; }
.sg-doc-file { display:grid; grid-template-columns:2.55rem minmax(0,1fr) auto; gap:.65rem; align-items:center; padding:.6rem 0; border-bottom:1px solid var(--doc-line); font-size:.84rem; }
.sg-doc-file:last-child { border-bottom:0; }
.sg-doc-format { color:var(--doc-accent); background:#eef3fa; text-align:center; border-radius:5px; font-size:.65rem; font-weight:700; padding:.23rem .12rem; }
.sg-doc-filename { overflow-wrap:anywhere; }
.sg-doc-file small { display:block; color:#9a3030; }
.sg-doc-file button { color:var(--doc-accent); border:1px solid var(--doc-line); border-radius:7px; font-weight:650; padding:.35rem .55rem; white-space:nowrap; }
.sg-doc-file button:hover { background:#eaf1fb; }
.sg-doc-library :is(button,input,select):focus-visible { outline:2px solid #496d9d; outline-offset:-2px; }
.sg-doc-empty { margin-top:1rem; padding:2rem 1rem; border:1px dashed #b0c0d6; border-radius:12px; text-align:center; color:var(--doc-muted); }
.sg-doc-empty button { margin-top:.6rem; }
@media(max-width:540px) {
  .sg-doc-controls { grid-template-columns:1fr; gap:.55rem; }
  .sg-doc-folder { padding:.7rem; gap:.5rem; }
  .sg-doc-foldername strong { font-size:.9rem; }
  .sg-doc-sections { padding-inline:.65rem; }
}
.sg-doc-add { margin:.65rem 0; font-size:.8rem; color:var(--doc-accent); }
.sg-doc-add label { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; }
.sg-doc-add input { max-width:100%; font-size:inherit; color:var(--doc-muted); }
.sg-doc-add input::file-selector-button { border:1px solid var(--doc-line); border-radius:7px; padding:.35rem .55rem; margin-right:.45rem; color:var(--doc-accent); background:#f3f7fd; }

.sg-doc-sheet-link{color:var(--doc-accent);border:1px solid var(--doc-line);border-radius:7px;padding:.35rem .55rem;margin:.35rem .75rem;font-size:.8rem;font-weight:650}
.sg-doc-sheet-link:hover{background:#eaf1fb}

.sg-doc-library { --doc-columns: minmax(0, 1fr) minmax(8rem, .28fr) minmax(12rem, .44fr); }
.sg-doc-controls { grid-template-columns: minmax(0, 1fr) minmax(9rem, .55fr) minmax(12rem, .7fr); }
.sg-doc-column-headings, .sg-doc-dossier-header { display: grid; grid-template-columns: var(--doc-columns); }
.sg-doc-column-headings { background: #172c49; color: #f3f7fd; border-radius: 10px; font-size: .78rem; font-weight: 700; }
.sg-doc-column-headings span { padding: .65rem .9rem; }
.sg-doc-column-headings span + span { border-left: 1px solid #ffffff2e; }
.sg-doc-folder { grid-template-columns: auto minmax(0, 1fr) auto; }
.sg-doc-foldername small, .sg-doc-count-cell small { color: var(--doc-muted); font-size: .72rem; }
.sg-doc-count-cell, .sg-doc-sheet-cell { border-left: 1px solid var(--doc-line); padding: .55rem .85rem; display: flex; justify-content: center; flex-direction: column; align-items: flex-start; gap: .35rem; }
.sg-doc-count { background: #edf3fb; color: var(--doc-accent); padding: .27rem .55rem; border-radius: 20px; font-weight: 650; }
.sg-doc-sheet-link { margin: 0; display: inline-block; }
.sg-doc-revise, .sg-doc-revision a { color: var(--doc-accent); text-decoration: underline; text-underline-offset: 3px; font-size: .79rem; }
.sg-doc-no-sheet { color: var(--doc-muted); font-size: .8rem; }
.sg-doc-revision { border-top: 1px solid var(--doc-line); padding: clamp(.8rem, 3vw, 1.25rem); background: #f3f7fc; display: grid; gap: .75rem; }
.sg-doc-revision-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.sg-doc-revision-header h3 { color: var(--doc-ink); font: inherit; font-weight: 700; }
.sg-doc-revision-header button, .sg-doc-revision p { font-size: .85rem; color: var(--doc-muted); }
.sg-doc-revision form, .sg-doc-revision label, .sg-doc-proposal { display: grid; gap: .55rem; }
.sg-doc-revision label { font-size: .85rem; font-weight: 650; }
.sg-doc-revision textarea { width: 100%; resize: vertical; padding: .7rem; border: 1px solid #bdcce0; border-radius: 9px; background: #fff; font: inherit; font-weight: 400; }
.sg-doc-primary { justify-self: start; border-radius: 8px; background: #243f68; color: #fff; padding: .52rem .85rem; font-size: .83rem; font-weight: 650; }
.sg-doc-primary:hover { background: #172c49; }
.sg-doc-primary:disabled { opacity: .6; cursor: default; }
.sg-doc-proposal { border: 1px solid var(--doc-line); border-radius: 10px; background: #fff; padding: .9rem; }
.sg-doc-proposal span { color: var(--doc-muted); font-size: .75rem; }
.sg-doc-proposal p { white-space: pre-wrap; }
.sg-doc-proposal ul { list-style: disc; padding-left: 1.25rem; font-size: .86rem; }
.sg-doc-revision [role="alert"] { color: #912b34; }
.sg-doc-library :is(a,textarea):focus-visible { outline: 2px solid #496d9d; outline-offset: 2px; }
@media (max-width: 720px) {
  .sg-doc-controls { grid-template-columns: 1fr 1fr; }
  .sg-doc-controls label:first-child { grid-column: 1 / -1; }
  .sg-doc-library { --doc-columns: minmax(0, 1fr) minmax(5rem, .44fr) minmax(6.75rem, .55fr); }
  .sg-doc-folder { grid-template-columns: minmax(0, 1fr) auto; }
  .sg-doc-folder .sg-doc-icon { display: none; }
  .sg-doc-column-headings span, .sg-doc-count-cell, .sg-doc-sheet-cell { padding-inline: .35rem; }
  .sg-doc-count, .sg-doc-revise, .sg-doc-sheet-link { font-size: .71rem; }
  .sg-doc-sheet-link { padding-inline: .25rem; }
}
@media (max-width: 400px) {
  .sg-doc-controls { grid-template-columns: 1fr; }
  .sg-doc-folder { padding-inline: .4rem; gap: .3rem; }
}
.sg-doc-views{display:flex;gap:.5rem;margin-top:1rem}
.sg-doc-views button{border:1px solid var(--doc-line);border-radius:8px;padding:.45rem .75rem;font-size:.85rem;font-weight:650;color:var(--doc-accent)}
.sg-doc-views button[aria-pressed=true]{background:var(--doc-accent);border-color:var(--doc-accent);color:#fff}
.sg-doc-remove{color:#87333f;text-align:left;font-size:.79rem}
.sg-doc-remove:hover{text-decoration:underline}
.sg-doc-confirm{padding:.8rem 1rem;background:#fff3f3;border-top:1px solid #efd6db;color:#72303c;font-size:.85rem}
.sg-doc-confirm p{margin-bottom:.55rem}
.sg-doc-confirm button{padding:.4rem .65rem;border-radius:7px;margin-right:.5rem}
.sg-doc-confirm-remove{background:#87333f;color:#fff}
.sg-doc-confirm button:disabled{opacity:.6}
.sg-doc-move-status{padding:.65rem .8rem;margin-top:.65rem;border-radius:8px;background:#edf3fb;color:var(--doc-accent);font-size:.85rem}
