/* Folio r9: page-first entries and explicit, reusable database sources. */
:root{--folio-sources-build:2026.10.05-r11-static}
.source-tabs{display:flex;gap:6px;align-items:center;overflow-x:auto;padding:7px 0;border-bottom:1px solid var(--line);margin:8px 0}.source-tabs .btn{font-size:12px;min-height:32px;flex-shrink:0;color:var(--sub)}.source-tabs .active{background:var(--hover);color:var(--text);font-weight:600}.source-tabs small{font-size:9px;color:var(--muted)}
.source-help,.source-manager p{font-size:12px;color:var(--sub);line-height:1.65}.source-manager h3{font-size:13px;margin:22px 0 10px}.source-card{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.source-card>div{flex:1;min-width:0}.source-card small,.source-choice small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.source-card span{margin-left:auto;font-size:11px;color:var(--muted)}.source-card .btn{font-size:11px;white-space:normal}.source-picker{max-height:290px;overflow:auto;margin:10px 0}.source-choice{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:6px;padding:11px 13px;margin:7px 0;background:var(--bg);font-size:13px;overflow-wrap:anywhere}.source-choice:hover,.source-choice[aria-pressed=true]{background:var(--hover)}.source-choice[hidden]{display:none}.source-create{padding:12px 0;border-top:1px solid var(--line);font-size:12px}.source-create summary{cursor:pointer;color:var(--sub)}.source-create input{margin:8px 0}.source-missing{padding:20px;border:1px dashed var(--line);border-radius:6px;color:var(--sub);font-size:12px;line-height:1.6}.source-missing p{margin:7px 0}.source-mode-modal{max-width:420px}.source-diagnostics{font-size:10px!important;color:var(--muted)!important;margin:2px 0!important}
.record-properties{margin:16px 0 32px;border-bottom:1px solid var(--line);padding-bottom:18px}.record-source-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin:5px 0 20px}.record-source-line>.btn:first-child{margin-right:auto}.record-source-line .btn{font-size:11px;color:var(--sub);padding-left:5px}.record-property{display:grid;grid-template-columns:145px minmax(0,1fr);align-items:start;gap:8px;min-height:38px;padding:4px 0;font-size:13px}.record-property>span{color:var(--sub);font-size:12px;padding:6px 0}.record-value{padding:6px 9px;text-align:left;min-height:31px;border-radius:5px;white-space:pre-wrap;overflow-wrap:anywhere}.record-value:hover:not(:disabled){background:var(--hover)}.record-value:disabled{opacity:1;cursor:default}.record-relation-links{display:flex;flex-wrap:wrap;gap:5px;grid-column:2}.record-relation-links .btn{white-space:normal;text-align:left;justify-content:flex-start;text-decoration:underline;font-size:12px;background:var(--sidebar)}.page-subpages{margin:25px 0}.page-subpages h3{font-size:12px;color:var(--sub);font-weight:500}.page-backlinks{margin:25px 0;font-size:11px;color:var(--sub)}.page-backlinks summary{cursor:pointer}.page-backlinks .btn{margin-top:8px;font-size:12px;display:flex;justify-content:flex-start}.record-peek-tools{display:flex;gap:5px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:16px;flex-wrap:wrap}.record-peek-tools .btn{font-size:11px;min-height:30px}.record-peek-tools [aria-pressed=true]{background:var(--hover)}.record-peek-tools .btn:last-child{margin-left:auto}.record-center-panel{width:min(850px,calc(100vw - 40px));max-width:850px;max-height:90dvh}.quick-record-panel .dx-row-fields>label>span small{display:none}.record-optional{margin:14px 0;font-size:12px;color:var(--sub)}.record-optional summary{cursor:pointer}.record-optional .btn{font-size:11px;margin:7px 4px 0 0}.record-peek-content{border-top:1px solid var(--line);padding:24px 0 10px}.record-peek-content h3{font-size:13px;color:var(--sub);font-weight:500;margin:0 0 15px}.record-peek-content fieldset{border:0;padding:0;margin:0;min-width:0}.record-peek-content>small{font-size:10px;line-height:1.6;color:var(--muted);display:block;margin-top:12px}.record-body-block{display:block;margin-bottom:14px!important}.record-body-block small{font-size:10px;color:var(--muted);font-weight:400}.record-body-block textarea{background:transparent;border-color:transparent;padding:6px 0;resize:vertical;min-height:52px;line-height:1.7}.record-body-block textarea:hover,.record-body-block textarea:focus{border-color:var(--line);padding-left:8px}.record-rich-preview{padding:10px;background:var(--sidebar);font-size:12px;color:var(--sub);border-radius:4px;margin:8px 0}#record-append{min-height:95px;resize:vertical;background:var(--bg)}#record-error{color:#b44b42;font-size:12px;line-height:1.5;margin:8px 0}
.modal-backdrop:has(.quick-record-panel){background:transparent;pointer-events:none}.quick-record-panel{pointer-events:auto;box-shadow:-12px 0 30px #00000010;border-left:1px solid var(--line)}body.record-peek-open .main{margin-right:min(620px,50vw)}body.record-peek-open .ai-panel{visibility:hidden}.record-center-panel .modal-actions,.quick-record-panel .modal-actions{flex-wrap:wrap;gap:6px}
@media(max-width:900px){body.record-peek-open .main{margin-right:0}.quick-record-panel{width:min(620px,95vw)!important;max-width:95vw!important}.record-property{grid-template-columns:115px minmax(0,1fr)}.source-card{flex-wrap:wrap}}
@media(max-width:520px){.quick-record-panel,.record-center-panel{width:100vw!important;max-width:100vw!important;max-height:100dvh!important}.record-peek-tools .btn{min-height:40px}.record-property{grid-template-columns:100px minmax(0,1fr)}.source-card>div{flex-basis:100%}.source-choice{padding:13px}.record-peek-content{padding-top:18px}}
@media print{.source-tabs,.record-source-line button,.page-backlinks,.source-diagnostics{display:none!important}.record-properties{break-inside:avoid}}
.timeline-toolbar{display:flex;align-items:center;gap:8px;padding:12px 0;font-size:12px}.timeline-toolbar small{margin-left:auto;color:var(--sub);font-size:11px}.timeline-scroll{overflow:auto;max-height:620px;border:1px solid var(--line);border-radius:5px}.timeline-grid{min-width:calc(190px + var(--timeline-days)*30px);font-size:12px}.timeline-head{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:190px repeat(var(--timeline-days),1fr);background:var(--sidebar);border-bottom:1px solid var(--line)}.timeline-head>span{position:sticky;left:0;background:var(--sidebar);padding:9px 10px;z-index:5}.timeline-head time{text-align:center;padding:9px 0;font-size:10px;color:var(--sub);border-left:1px solid var(--line)}.timeline-head .today{color:var(--blue);font-weight:700;background:var(--hover)}.timeline-row{display:grid;grid-template-columns:190px 1fr;min-height:41px;border-bottom:1px solid var(--line)}.timeline-label{position:sticky;left:0;background:var(--bg);z-index:2;padding:10px;text-align:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;border-right:1px solid var(--line)}.timeline-label:hover{background:var(--hover)}.timeline-track{position:relative;min-height:40px;background:repeating-linear-gradient(to right,transparent 0,transparent calc(100%/var(--timeline-days) - 1px),var(--line) calc(100%/var(--timeline-days) - 1px),var(--line) calc(100%/var(--timeline-days)))}.timeline-bar{position:absolute;top:7px;height:27px;min-width:5px;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;background:#dcebf8;color:#285777;padding:4px 7px;border:1px solid #bbd8ee;font-size:11px}.timeline-bar:hover{filter:brightness(.96)}body[data-theme=dark] .timeline-bar{background:#263e53;color:#b4d5f0;border-color:#3b5b78}.timeline-empty{font-size:10px;color:var(--muted);padding:12px;display:block}.dx-table.freeze-title th:nth-child(2),.dx-table.freeze-title td:nth-child(2){position:sticky;left:35px;z-index:2;background:var(--bg);box-shadow:1px 0 var(--line)}.dx-table.freeze-title th:first-child,.dx-table.freeze-title td:first-child{position:sticky;left:0;z-index:3;background:var(--bg);min-width:35px}.dx-table.freeze-title th:nth-child(-n+2){background:var(--sidebar);z-index:4}.page-backlinks small{color:var(--muted);font-size:10px;margin-left:8px}

.record-card-preview{margin:-1px -1px 12px;overflow:hidden;border-radius:4px}.record-card-preview p{font-size:11px;line-height:1.5;color:var(--sub);max-height:50px;overflow:hidden;margin:8px}.record-card-cover,.record-card-cover.cover{height:110px;min-height:0;margin:0;position:relative;overflow:hidden;border-radius:4px}.record-card-cover img{height:100%;width:100%;object-fit:cover;display:block}
