:root{color-scheme:light dark;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0;background:#f5f7fa;color:#172230}main{max-width:760px;margin:0 auto;padding:30px 16px 80px}header{margin-bottom:22px}h1{font-size:clamp(1.75rem,4vw,2.4rem);line-height:1.2;letter-spacing:-.04em;margin:0 0 10px}h2{font-size:1.13rem;margin:0 0 14px}p{margin:8px 0}.muted{color:#64748b;font-size:.92rem}.panel{border:1px solid #dbe2ea;border-radius:14px;background:white;padding:20px;margin:15px 0;box-shadow:0 4px 18px #22334408}.inline{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;align-items:center}.inline input{flex:1;min-width:150px}button,input,select{font:inherit;border-radius:8px;padding:10px 12px}button{background:#1d4ed8;color:#fff;border:1px solid #1d4ed8;font-weight:600;cursor:pointer;white-space:nowrap}button:hover{filter:brightness(.94)}button:disabled{opacity:.6;cursor:default}button.secondary{background:white;color:#1e40af;border-color:#b7c7e8}button.danger{background:#fff;color:#b42318;border-color:#efc2be}input,select{background:#fff;border:1px solid #b7c4d4;color:#172230;max-width:100%}label{display:grid;gap:5px;font-weight:600;margin:12px 0}a{color:#1d4ed8}.list{display:grid;gap:4px}.item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #e6eaf0}.item>div{min-width:0;overflow-wrap:anywhere}.item .muted{margin:3px 0}.qr-wrap{display:flex;flex-direction:column;align-items:center;gap:12px;margin:12px 0}.qr{background:white;padding:10px;border-radius:8px;border:1px solid #dce3eb;line-height:0}.qr svg{display:block;width:min(250px,70vw);height:auto}code{font-size:.8rem;color:#334155}.break{overflow-wrap:anywhere;text-align:center;max-width:100%}.error,.success{padding:12px 14px;border-radius:8px;margin:12px 0}.error{color:#8b1e1a;background:#feeceb}.success{color:#166534;background:#dcfce7}.hidden{display:none}@media(prefers-color-scheme:dark){body{background:#101722;color:#ebf1fa}.panel{background:#1c2737;border-color:#334256}.muted{color:#9bacbf}.item{border-color:#34445a}button.secondary,button.danger{background:#1a2433}input,select{background:#111a28;color:#ebf1fa;border-color:#55657b}code{color:#d9e1eb}.error{background:#541c1c;color:#ffc5c1}.success{background:#173a2b;color:#bef9da}}@media print{body{background:white;color:black}button,header,.item,.error,.success{display:none!important}.panel{box-shadow:none;border:none}.qr{border:none}.qr-wrap{break-inside:avoid}}

/* Shared folder and document browser. */
main{max-width:1120px}
.breadcrumbs{display:flex;align-items:center;gap:8px;margin:0 0 18px;color:#64748b;font-size:.92rem}
.breadcrumbs a{text-decoration:none;font-weight:600}
.browser-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 8px}
.browser-toolbar input{width:100%;max-width:400px;background:#f3f6fb;border-color:transparent;border-radius:24px;padding:11px 18px}
.browser-toolbar select{font-size:.88rem;max-width:270px;background:#fff;border-color:#dbe2ea}
.browser-count{font-size:.8rem;color:#64748b;margin:8px 0 12px}
.table-scroll{overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px}
.files-table{border-collapse:collapse;width:100%;text-align:left;min-width:610px}
.files-table th{background:#f8fafc;color:#64748b;font-size:.78rem;font-weight:600;letter-spacing:.025em;white-space:nowrap;padding:13px 16px;border-bottom:1px solid #e2e8f0}
.files-table td{padding:13px 16px;border-bottom:1px solid #edf1f5;vertical-align:middle}
.files-table tbody tr:last-child td{border-bottom:0}
.files-table tbody tr:hover{background:#f2f7ff}
.files-table th:first-child{width:55%}
.file-name{display:flex;align-items:center;gap:12px;min-width:200px}
.file-name>div{min-width:0}
.file-name .muted{font-size:.77rem;margin:2px 0 0}
.file-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:40px;border-radius:9px}
.file-icon svg{width:25px;height:25px}
.folder-icon{color:#6b7c93;background:#edf1f6}
.document-icon{color:#2563eb;background:#eaf1ff}
button.file-title{border:0;background:transparent;color:#172230;font-size:.94rem;font-weight:600;padding:4px 0;border-radius:3px;text-align:left;white-space:normal;overflow-wrap:anywhere}
button.file-title:hover{color:#1d4ed8;filter:none;text-decoration:underline}
.file-date{font-size:.84rem;color:#526176;white-space:nowrap}
.file-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}
.file-actions button{font-size:.77rem;padding:7px 9px}
.files-empty{text-align:center;color:#64748b;padding:36px 20px!important}
@media(max-width:650px){
  main{padding:22px 12px 60px}.panel{padding:15px}
  .browser-toolbar{flex-direction:column;align-items:stretch}
  .browser-toolbar input,.browser-toolbar select{max-width:none;width:100%}
  .files-table th,.files-table td{padding:11px 12px}
}
@media(prefers-color-scheme:dark){
  .browser-toolbar input{background:#111a28;border-color:#334256}
  .browser-toolbar select{background:#111a28;border-color:#55657b}
  .table-scroll{border-color:#334256}
  .files-table th{background:#172130;border-color:#334256;color:#a4b5ca}
  .files-table td{border-color:#2c3a4d}
  .files-table tbody tr:hover{background:#24344c}
  .folder-icon{background:#303d50;color:#bfd0e6}
  .document-icon{background:#223b62;color:#8ab4ff}
  button.file-title{color:#edf3fc}button.file-title:hover{color:#a5c7ff}
  .file-date,.browser-count,.files-empty{color:#a4b5ca}
}
@media print{.browser-toolbar,.file-actions,.browser-count{display:none}.table-scroll{overflow:visible;border:0}.files-table{min-width:0}}

.share-url{display:block;width:100%;margin:12px 0;font-family:ui-monospace,monospace;font-size:.85rem}details{margin:14px 0}summary{cursor:pointer;font-weight:600}
