.article-body.markdown-body{background-color:transparent;color-scheme:light}.markdown-body .ql-align-center{text-align:center}.markdown-body .ql-align-right{text-align:right}.markdown-body .ql-align-justify{text-align:justify}.markdown-body .ql-align-left{text-align:left}.markdown-body{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}@supports (counter-set:none){.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6,.markdown-body p{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6,.markdown-body p{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.markdown-body ol{list-style:none;padding-left:1.5em;margin:0 0 var(--space-3)}.markdown-body li[data-list]{list-style-type:none;position:relative;padding-left:1.5em}.markdown-body li[data-list]>.ql-ui{display:none}.markdown-body li[data-list]:before{display:inline-block;position:absolute;left:0;width:1.2em;margin-right:.3em;text-align:right;white-space:nowrap;color:inherit}.markdown-body li[data-list=bullet]:before{content:"\2022";text-align:center}.markdown-body li[data-list=checked]:before{content:"\2611"}.markdown-body li[data-list=unchecked]:before{content:"\2610"}@supports (counter-set:none){.markdown-body li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.markdown-body li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.markdown-body li[data-list=ordered]{counter-increment:list-0}.markdown-body li[data-list=ordered]:before{content:counter(list-0,decimal) ". "}.markdown-body li[data-list=ordered].ql-indent-1{counter-increment:list-1}.markdown-body li[data-list=ordered].ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.markdown-body li[data-list=ordered].ql-indent-2{counter-increment:list-2}.markdown-body li[data-list=ordered].ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.markdown-body li[data-list=ordered].ql-indent-3{counter-increment:list-3}.markdown-body li[data-list=ordered].ql-indent-3:before{content:counter(list-3,decimal) ". "}.markdown-body li[data-list=ordered].ql-indent-4{counter-increment:list-4}.markdown-body li[data-list=ordered].ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.markdown-body li[data-list=ordered].ql-indent-5{counter-increment:list-5}.markdown-body li[data-list=ordered].ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.markdown-body li[data-list=ordered].ql-indent-6{counter-increment:list-6}.markdown-body li[data-list=ordered].ql-indent-6:before{content:counter(list-6,decimal) ". "}.markdown-body li[data-list=ordered].ql-indent-7{counter-increment:list-7}.markdown-body li[data-list=ordered].ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.markdown-body li[data-list=ordered].ql-indent-8{counter-increment:list-8}.markdown-body li[data-list=ordered].ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.markdown-body li[data-list=ordered].ql-indent-9{counter-increment:list-9}.markdown-body li[data-list=ordered].ql-indent-9:before{content:counter(list-9,decimal) ". "}@supports (counter-set:none){.markdown-body li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.markdown-body li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.markdown-body li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}.markdown-body li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}.markdown-body li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}.markdown-body li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}.markdown-body li[data-list].ql-indent-7{counter-set:list-8 list-9}.markdown-body li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.markdown-body li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.markdown-body li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.markdown-body li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.markdown-body li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.markdown-body li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.markdown-body li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}.markdown-body li[data-list].ql-indent-7{counter-reset:list-8 list-9}.markdown-body li[data-list].ql-indent-8{counter-reset:list-9}}.markdown-body .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.markdown-body li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.markdown-body .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.markdown-body li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.markdown-body .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.markdown-body li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.markdown-body .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.markdown-body li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.markdown-body .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.markdown-body li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.markdown-body .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.markdown-body li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.markdown-body .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.markdown-body li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.markdown-body .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.markdown-body li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.markdown-body .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.markdown-body li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.markdown-body li[data-list].ql-indent-1:before{left:3em}.markdown-body li[data-list].ql-indent-2:before{left:6em}.markdown-body li[data-list].ql-indent-3:before{left:9em}.markdown-body li[data-list].ql-indent-4:before{left:12em}.markdown-body li[data-list].ql-indent-5:before{left:15em}.markdown-body li[data-list].ql-indent-6:before{left:18em}.markdown-body li[data-list].ql-indent-7:before{left:21em}.markdown-body li[data-list].ql-indent-8:before{left:24em}.markdown-body li[data-list].ql-indent-9:before{left:27em}.markdown-body .ql-color-white{color:#fff}.markdown-body .ql-color-red{color:#e60000}.markdown-body .ql-color-orange{color:#f90}.markdown-body .ql-color-yellow{color:#ff0}.markdown-body .ql-color-green{color:#008a00}.markdown-body .ql-color-blue{color:#06c}.markdown-body .ql-color-purple{color:#93f}.markdown-body .ql-bg-black{background-color:#000}.markdown-body .ql-bg-red{background-color:#e60000}.markdown-body .ql-bg-orange{background-color:#f90}.markdown-body .ql-bg-yellow{background-color:#ff0}.markdown-body .ql-bg-green{background-color:#008a00}.markdown-body .ql-bg-blue{background-color:#06c}.markdown-body .ql-bg-purple{background-color:#93f}.markdown-body img{max-width:100%;height:auto}.markdown-body .ql-align-center img{margin-left:auto;margin-right:auto}.markdown-body .ql-align-right img{margin-left:auto;margin-right:0}.markdown-body .kms-table,.markdown-body table{width:100%;border-collapse:collapse;margin:var(--space-3) 0;font-size:var(--fs-base);table-layout:fixed;display:table}.markdown-body td,.markdown-body th{border:1px solid var(--color-table-border);padding:var(--space-2) var(--space-2_5);vertical-align:top;min-width:60px}.markdown-body th{background:var(--color-table-head);font-weight:700;color:var(--color-text-ink)}.markdown-body tr:nth-child(2n) td{background:var(--color-table-stripe)}.article-body blockquote,.markdown-body blockquote,.quill-shell .ql-snow .ql-editor blockquote{margin:0;padding:.2em var(--space-3_5);border-left:3px solid var(--color-primary);background:rgba(0,100,255,.04);color:var(--color-text-strong)}.article-body blockquote:not(blockquote+blockquote),.markdown-body blockquote:not(blockquote+blockquote),.quill-shell .ql-snow .ql-editor blockquote:not(blockquote+blockquote){padding-top:var(--space-2_5)}.article-body blockquote+blockquote,.markdown-body blockquote+blockquote,.quill-shell .ql-snow .ql-editor blockquote+blockquote{margin-top:0;padding-top:.2em}.article-body blockquote:not(:has(+blockquote)),.markdown-body blockquote:not(:has(+blockquote)),.quill-shell .ql-snow .ql-editor blockquote:not(:has(+blockquote)){padding-bottom:var(--space-2_5);margin-bottom:var(--space-3)}.article-body blockquote p:last-child,.markdown-body blockquote p:last-child{margin-bottom:0}.article-body .ql-code-block-container,.article-body pre,.markdown-body .ql-code-block-container,.markdown-body pre,.quill-shell .ql-snow .ql-editor .ql-code-block-container{margin:0 0 var(--space-3);padding:var(--space-3) var(--space-3_5);border-radius:var(--radius-md);background:#f4f4f5;color:var(--color-text-ink);border:1px solid var(--color-border-soft);overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--fs-sm);line-height:1.5}.article-body .ql-code-block,.markdown-body .ql-code-block,.quill-shell .ql-snow .ql-editor .ql-code-block{font-family:inherit;color:inherit;white-space:pre-wrap;word-wrap:break-word}.article-body code,.markdown-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.article-body :not(pre)>code,.markdown-body :not(pre)>code{padding:.1em .35em;border-radius:3px;background:#f4f4f5;color:var(--color-text-ink)}.list-toolbar{justify-content:space-between;flex-shrink:0}.list-toolbar,.list-toolbar-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.list-status-tabs{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface)}.list-status-tab{border:none;background:transparent;padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);font-weight:700;color:var(--color-text-muted);cursor:pointer}.list-status-tab:hover{color:var(--color-primary-deep)}.list-status-tab.active{background:var(--color-primary-soft);color:var(--color-primary)}.record-title-text{margin-right:var(--space-1_5)}.status-badge{vertical-align:middle;margin-left:var(--space-1)}.status-badge--draft{color:var(--color-warn-text);background:var(--color-warn-bg)}.status-badge--wip{color:var(--color-info-text);background:var(--color-info-bg)}.status-badge--delete-req,.status-badge--editing{color:#9a3412;background:#ffedd5}.status-badge--hidden{color:#4c1d95;background:#ede9fe}.list-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.list-filters label{display:flex;align-items:center;gap:var(--space-1_5);font-size:var(--fs-md);font-weight:700;color:var(--color-text-label)}.list-filters select{padding:var(--space-2) var(--space-2_5);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--fs-base);background:var(--color-surface);min-width:96px}.list-count{font-size:var(--fs-sm);font-weight:400}.hint-block,.list-count{color:var(--color-text-muted)}.hint-block{flex-shrink:0;font-size:var(--fs-md)}.shelf-book-list{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:var(--space-3)}.shelf-book-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.shelf-book-list-head .hint-block{flex:1 1;min-width:0;margin:0}.shelf-book-print-all{flex-shrink:0;margin-top:.1rem}.shelf-book-table .col-book-check{width:2.75rem;text-align:center;vertical-align:middle}.shelf-book-table .col-book-check input{width:1.05rem;height:1.05rem;cursor:pointer}.shelf-book-table .col-book-name{width:40%;font-weight:700;color:var(--color-text-strong)}.shelf-book-table .col-book-desc{color:var(--color-text-muted);font-size:var(--fs-sm)}.shelf-book-table .col-book-done,.shelf-book-table .col-book-qr{width:4.5rem;text-align:center;vertical-align:middle}.shelf-book-table tr.is-completed .col-book-name{color:var(--color-text-muted)}.shelf-book-icon{display:inline-flex;align-items:center;margin-right:var(--space-2);color:var(--color-primary);vertical-align:-.15em}.attachment-workspace{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:var(--space-3)}.attachment-workspace-tabs-row{flex-shrink:0;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3)}.attachment-workspace-tabs-row .machine-tabs{flex:1 1;min-width:0;margin-top:0}.attachment-workspace-print{flex-shrink:0;margin-bottom:var(--space-2)}.attachment-tab-pane,.attachment-workspace .machine-tab-panel{flex:1 1;min-height:0;display:flex;flex-direction:column}.attachment-tab-pane.is-hidden{display:none!important}.kms-document-layout,.kms-plain-layout,.kms-tab-layout{flex:1 1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.attachment-workspace .attachment-tab-pane>.article-with-files,.attachment-workspace .attachment-tab-pane>.kms-document-layout,.attachment-workspace .attachment-tab-pane>.kms-plain-layout,.attachment-workspace .attachment-tab-pane>.project-gantt,.attachment-workspace .attachment-tab-pane>.project-progress,.attachment-workspace .kms-document-layout>.article-with-files,.attachment-workspace .kms-plain-layout>.project-gantt,.attachment-workspace .kms-plain-layout>.project-progress,.machine-workspace .kms-document-layout>.article-with-files,.machine-workspace .machine-tab-body>.kms-document-layout{flex:1 1;min-height:0}.project-progress{display:flex;flex-direction:column;gap:var(--space-3);min-height:0;overflow:hidden;padding:var(--space-1) 0}.project-progress-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-2);flex-shrink:0;z-index:3;background:var(--color-page);padding-bottom:var(--space-1)}.project-progress-hint{margin:var(--space-1) 0 0;font-size:var(--fs-xs);color:var(--color-text-muted);max-width:36rem;line-height:1.45}.project-progress-actions{display:flex;align-items:center;gap:var(--space-2)}.project-progress-actions .progress-action-cancel{margin-right:var(--space-3);background:var(--color-error-bg);color:var(--color-error-text);border-color:#fca5a5}.project-progress-actions .progress-action-cancel:hover:not(:disabled){background:#fecaca}.project-progress-actions .progress-action-save{background:var(--color-primary-soft);color:var(--color-primary-deep);border-color:#7dd3fc}.project-progress-actions .progress-action-save:hover:not(:disabled){background:#bae6fd}.project-progress.is-readonly .progress-item-table input[type=date],.project-progress.is-readonly .progress-item-table input[type=number],.project-progress.is-readonly .progress-item-table input[type=text]{border:0;background:transparent;box-shadow:none;padding-left:0;pointer-events:none;color:inherit;-webkit-text-fill-color:inherit;opacity:1}.project-progress.is-readonly input[type=date]::-webkit-calendar-picker-indicator,.project-progress.is-readonly input[type=number]::-webkit-inner-spin-button,.project-progress.is-readonly input[type=number]::-webkit-outer-spin-button{display:none;appearance:none}.project-gantt{display:flex;flex-direction:column;gap:var(--space-3);min-height:0;overflow:auto;padding:var(--space-1) 0 var(--space-3)}.project-gantt-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-2);flex-shrink:0}.project-gantt-scale{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface-muted);flex-shrink:0}.project-gantt-scroll{overflow-x:hidden;overflow-y:auto;flex:1 1;min-height:0;max-height:min(70vh,40rem);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);background:var(--color-surface)}.project-gantt-chart{--gantt-cols:6;--gantt-label-w:9.5rem;width:100%}.project-gantt-axis-row,.project-gantt-row{display:grid;grid-template-columns:var(--gantt-label-w) minmax(0,1fr);align-items:stretch;width:100%}.project-gantt-axis-row{position:sticky;top:0;z-index:3;background:var(--color-surface-muted);border-bottom:1px solid var(--color-border)}.project-gantt-axis-spacer{border-right:1px solid var(--color-border-soft);background:var(--color-surface-muted)}.project-gantt-axis{min-width:0}.project-gantt-bands{display:grid;background:var(--color-page);border-bottom:1px solid var(--color-border-soft)}.project-gantt-band{padding:var(--space-1) var(--space-2);text-align:center;font-size:var(--fs-xs);color:var(--color-text-muted);border-right:1px solid var(--color-border-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-gantt-band:last-child{border-right:0}.project-gantt-ticks{display:grid;grid-template-columns:repeat(var(--gantt-cols),minmax(0,1fr));background:var(--color-surface-muted)}.project-gantt-tick{padding:var(--space-1_5) 0;text-align:center;font-size:var(--fs-xs);font-weight:700;color:var(--color-text-ink);border-right:1px solid var(--color-border-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-gantt-tick:last-child{border-right:0}.project-gantt-chart.scale-day .project-gantt-tick{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.project-gantt-section{border-bottom:1px solid var(--color-border)}.project-gantt-section:last-child{border-bottom:0}.project-gantt-section-head{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface-muted);border-bottom:1px solid var(--color-border-soft)}.project-gantt-section-title{margin:0;font-size:var(--fs-sm);font-weight:700;color:var(--color-text-ink)}.project-gantt-phase-count{font-size:var(--fs-xs);color:var(--color-text-muted)}.project-gantt-rows{display:flex;flex-direction:column;background:var(--color-page)}.project-gantt-row{align-items:center;min-height:3rem;border-bottom:1px solid var(--color-border-soft)}.project-gantt-row:last-child{border-bottom:0}.project-gantt-label-cell{position:sticky;left:0;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:var(--space-2) var(--space-3);background:var(--color-surface);border-right:1px solid var(--color-border-soft);min-width:0}.project-gantt-item-name{font-weight:700;font-size:var(--fs-sm);color:var(--color-text-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-gantt-item-meta{font-size:var(--fs-xs)}.project-gantt-item-meta,.project-gantt-row.is-unscheduled .project-gantt-item-name{color:var(--color-text-muted)}.project-gantt-empty-lane{margin:0;padding:var(--space-2) var(--space-3)}.project-gantt-lane{position:relative;height:2.5rem;min-width:0;margin:var(--space-2) var(--space-2) var(--space-2) 0;box-sizing:border-box}.project-gantt-cells{position:absolute;inset:0;z-index:2;display:grid;grid-template-columns:repeat(var(--gantt-cols),minmax(0,1fr))}.project-gantt-cell{border-right:1px solid var(--color-border-soft);min-width:0}.project-gantt-cell:last-child{border-right:0}.project-gantt-cell.has-log{cursor:help;background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.project-gantt-cell.has-log:hover{background:color-mix(in srgb,var(--color-primary) 18%,transparent)}.project-gantt-bar{position:absolute;top:.35rem;bottom:.35rem;display:flex;align-items:center;justify-content:center;padding:0 var(--space-2);border-radius:999px;color:#fff;font-size:var(--fs-xs);font-weight:700;box-shadow:0 2px 6px rgb(0 0 0/12%);white-space:nowrap;min-width:2rem;z-index:1;overflow:hidden;background:var(--gantt-tone,var(--color-primary));pointer-events:none}.project-gantt-bar-pct-label{position:relative;z-index:1}.project-gantt-unscheduled-mark{position:absolute;inset:0;display:flex;align-items:center;padding:0 var(--space-2);font-size:var(--fs-xs);color:var(--color-text-muted)}.project-gantt-bar.tone-0{--gantt-tone:var(--color-primary)}.project-gantt-bar.tone-1{--gantt-tone:#0f766e}.project-gantt-bar.tone-2{--gantt-tone:#3f6212}.project-gantt-bar.tone-3{--gantt-tone:#b45309}.project-gantt-bar.tone-0,.project-gantt-bar.tone-1,.project-gantt-bar.tone-2,.project-gantt-bar.tone-3{background:var(--gantt-tone)}.progress-phase-scroll{flex:1 1;min-height:0;overflow:auto}.progress-phase-list,.progress-phase-scroll{display:flex;flex-direction:column;gap:var(--space-2)}.progress-phase-list{padding-bottom:var(--space-2)}.progress-phase{border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);background:var(--color-surface)}.progress-phase.is-open{border-color:var(--color-border)}.progress-phase-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--color-surface-muted);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 1px 0 var(--color-border-soft)}.progress-phase:not(.is-open) .progress-phase-head{border-radius:var(--radius-lg)}.progress-phase-toggle{flex:1 1;min-width:0;display:flex;align-items:center;gap:var(--space-2);border:0;background:transparent;padding:var(--space-2);text-align:left;cursor:pointer;font:inherit;color:inherit}.progress-phase-chevron{color:var(--color-text-muted);width:1rem}.progress-phase-title{font-weight:700;color:var(--color-text-ink)}.progress-phase-count{margin-left:auto;font-size:var(--fs-xs);color:var(--color-text-muted)}.progress-phase-head-actions{display:flex;flex-shrink:0;gap:var(--space-1)}.progress-phase-body{padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--color-border-soft)}.progress-phase:not(.is-open) .progress-phase-body{display:none}.progress-item-blocks{display:flex;flex-direction:column;gap:var(--space-3)}.progress-item-block{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--color-page)}.progress-item-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.progress-item-name{font-weight:700;color:var(--color-text-ink)}.progress-item-latest{font-size:var(--fs-xs);font-weight:700;color:var(--color-primary);background:var(--color-primary-soft);padding:1px 6px;border-radius:var(--radius-xs)}.progress-item-head .progress-start-date{margin-left:auto}.progress-start-date-print{margin-left:auto;font-size:var(--fs-sm);color:var(--color-text-muted);white-space:nowrap}.progress-item-head .progress-start-date+.btn{margin-left:0}.progress-start-date{display:inline-flex;align-items:center;gap:var(--space-1);cursor:pointer}.progress-start-date input[type=date]{width:8.5rem;padding:2px 4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-xs);background:var(--color-surface);color:var(--color-text-ink)}.progress-item-empty{margin:0;padding:var(--space-2) 0}.progress-item-table .col-progress-date{width:10rem}.progress-item-table .col-progress-pct{width:7rem}.progress-item-table .col-progress-actions{width:4.5rem;text-align:right}.progress-item-table input[type=date],.progress-item-table input[type=number],.progress-item-table input[type=text]{width:100%;padding:var(--space-1_5) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;background:var(--color-surface)}.progress-pct-field{display:inline-flex;align-items:center;gap:var(--space-1);width:100%}.progress-pct-field input{flex:1 1;min-width:0}.phase-name-list{display:flex;flex-direction:column;gap:var(--space-2)}.phase-name-row{display:flex;gap:var(--space-2);align-items:center}.phase-name-row input{flex:1 1;min-width:0;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font:inherit}.machine-workspace{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:var(--space-3)}.machine-tabs-row{flex-shrink:0;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-1)}.machine-tabs-row .machine-tabs{flex:1 1;min-width:0;margin-top:0}.machine-tabs{flex-shrink:0;display:flex;gap:var(--space-1);border-bottom:2px solid var(--color-border-soft);margin-top:var(--space-1)}.machine-qr-btn{flex-shrink:0}.machine-tabs-actions{display:flex;flex-shrink:0;align-items:center;gap:var(--space-2);margin-bottom:.45rem}.machine-profile-panel{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:var(--space-4)}.machine-profile-photo-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-start}.machine-profile-photo-btn{display:inline-block;padding:0;margin:0;border:none;background:transparent;cursor:zoom-in;border-radius:var(--radius-sm,4px)}.machine-profile-photo-btn:focus-visible{outline:2px solid var(--color-accent,#2563eb);outline-offset:2px}.machine-profile-photo{width:200px;height:150px;object-fit:contain;border:1px solid var(--color-border-soft);border-radius:var(--radius-sm,4px);background:#fff;display:block;pointer-events:none}.machine-profile-photo.is-empty{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:var(--fs-sm);background:var(--color-surface-muted,#f1f5f9)}.machine-profile-photo-actions{flex-direction:column;align-items:flex-start}.machine-profile-actions,.machine-profile-photo-actions{display:flex;gap:var(--space-2)}.machine-profile-summary{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3);margin-bottom:var(--space-3);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm,4px);background:var(--color-surface-muted,#f8fafc)}.machine-profile-summary-photo{width:72px;height:54px;object-fit:cover;border-radius:4px;border:1px solid var(--color-border-soft)}.machine-profile-summary-label{font-size:var(--fs-sm);font-weight:700;color:var(--color-text-muted);margin-bottom:.15rem}.machine-profile-summary-text{font-size:var(--fs-base);color:var(--color-text)}.form-error{color:#b91c1c}.form-error,.form-hint{font-size:var(--fs-sm);margin:0}.form-hint{color:var(--color-text-muted)}.machine-history-card{display:none}body.mhc-measuring .machine-history-card{display:flex!important;flex-direction:column;position:fixed;left:0;top:0;z-index:-1;opacity:0;pointer-events:none;box-sizing:border-box;width:calc(210mm - 2cm);height:calc(297mm - 2cm);overflow:hidden;background:#fff;color:#0f172a;font-size:11pt}body.mhc-measuring .mhc-header{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:2px solid #0f172a;padding-bottom:.5rem;margin-bottom:.5rem}body.mhc-measuring .mhc-title{font-size:1.85rem;margin:0;padding-left:1cm;letter-spacing:.08em;line-height:1.2}body.mhc-measuring .mhc-header-right{display:flex;align-items:center;gap:.45rem;flex-shrink:0}body.mhc-measuring .mhc-header-qr{width:1.9cm;height:1.9cm;object-fit:contain;flex-shrink:0;display:block}body.mhc-measuring .mhc-header-qr--empty{border:1px solid #cbd5e1;background:#f8fafc}body.mhc-measuring .mhc-meta{border-collapse:collapse;font-size:9pt}body.mhc-measuring .mhc-meta td,body.mhc-measuring .mhc-meta th{border:1px solid #334155;padding:3px}body.mhc-measuring .mhc-top{flex-shrink:0;display:grid;grid-template-columns:1.1fr 1fr;gap:.6rem;margin-bottom:.5rem;align-items:start}body.mhc-measuring .mhc-field{display:flex;gap:.5rem;border-bottom:1px solid #cbd5e1;padding:3px 0;font-size:10pt}body.mhc-measuring .mhc-field span{color:#64748b;min-width:5.5rem;flex-shrink:0}body.mhc-measuring .mhc-field-row{display:grid;gap:.35rem}body.mhc-measuring .mhc-field-row--2{grid-template-columns:1fr 1fr}body.mhc-measuring .mhc-photo-wrap{margin-top:.35rem;width:100%;aspect-ratio:4/3;box-sizing:border-box;border:1px solid #334155;padding:3px;overflow:hidden}body.mhc-measuring .mhc-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center}body.mhc-measuring .mhc-history h2,body.mhc-measuring .mhc-side h2{font-size:11pt;margin:0 0 .3rem;border-bottom:1px solid #0f172a;padding-bottom:.15rem}body.mhc-measuring .mhc-history table,body.mhc-measuring .mhc-side table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:9pt}body.mhc-measuring .mhc-col-no{width:8%}body.mhc-measuring .mhc-col-date{width:14%}body.mhc-measuring .mhc-col-action,body.mhc-measuring .mhc-col-symptom{width:32%}body.mhc-measuring .mhc-col-confirm{width:14%}body.mhc-measuring .mhc-history td,body.mhc-measuring .mhc-history th,body.mhc-measuring .mhc-side td,body.mhc-measuring .mhc-side th{border:1px solid #334155;padding:3px 5px;vertical-align:top;line-height:1.35}body.mhc-measuring .mhc-side tbody td,body.mhc-measuring .mhc-side tbody th{height:28px}body.mhc-measuring .mhc-history{flex:1 1 auto;min-height:0}body.mhc-measuring .mhc-blank-row td,body.mhc-measuring .mhc-history tbody td{height:28px;min-height:28px;box-sizing:border-box}.machine-tab{background:transparent;padding:var(--space-2_5) var(--space-4);font-size:var(--fs-base);font-weight:700;color:var(--color-text-muted);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-2px}.machine-tab:hover{color:var(--color-primary-deep)}.machine-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.machine-tab-panel{gap:var(--space-3);padding-top:var(--space-3)}.machine-tab-body,.machine-tab-panel{flex:1 1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.machine-workspace .machine-tab-body>.article-with-files{flex:1 1;min-height:0}.machine-tab-body>:not(.article-with-files){flex:1 1;min-height:0;overflow:auto}.spec-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-3)}.record-table-scroll{flex:1 1;min-height:0;overflow:auto}.record-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-base)}.record-table thead th{position:sticky;top:0;z-index:1;text-align:left;font-size:var(--fs-sm);font-weight:700;color:var(--color-text-muted);padding:var(--space-2) var(--space-3);border-bottom:2px solid var(--color-border-soft);white-space:nowrap;background:var(--color-surface)}.record-table tbody tr{cursor:pointer;transition:background var(--ease-fast)}.record-table tbody tr:hover{background:var(--color-primary-hover)}.record-table tbody td{padding:var(--space-2_5) var(--space-3);border-bottom:1px solid var(--color-border-soft);vertical-align:middle;color:var(--color-text)}.record-table tbody tr.record-loading-row,.record-table tbody tr.record-row-spacer{cursor:default}.record-table tbody tr.record-row-spacer:hover{background:transparent}.record-table tbody tr.record-row-spacer td{padding:0!important;border:0!important;line-height:0}.record-table tbody tr.record-loading-row td{padding:var(--space-3);text-align:center;color:var(--color-text-muted);font-size:var(--fs-sm)}.record-table .col-date{width:110px;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-strong);font-weight:700}.record-table .col-author{width:100px;white-space:nowrap;color:var(--color-text-muted)}.record-table .col-book{width:140px;color:var(--color-text-muted);font-size:var(--fs-sm)}.record-table .col-title{font-weight:700;color:var(--color-text-strong)}.record-table .col-maint{width:72px;white-space:nowrap;font-size:var(--fs-sm);color:var(--color-text-label)}.record-table .col-count{width:88px;white-space:nowrap;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-strong);font-weight:700}.purchase-groups-scroll{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.purchase-groups{display:flex;flex-direction:column;gap:var(--space-2)}.purchase-group-spacer{flex:0 0 auto;pointer-events:none}.purchase-loading{padding:var(--space-2) 0;text-align:center;color:var(--color-text-muted);font-size:var(--fs-sm)}.purchase-load-more{display:flex;justify-content:center;padding:var(--space-2) 0}.purchase-group{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.purchase-group.is-expanded{border-color:var(--color-border)}.purchase-group-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface-muted)}.purchase-group-toggle{flex:1 1 16rem;display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-2);min-width:0}.purchase-group-toggle.is-button{grid-template-columns:1fr auto auto;margin:0;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit}.purchase-group-toggle.is-button:hover .record-title-text{text-decoration:underline}.purchase-group-chevron{color:var(--color-text-muted);width:1rem;text-align:center}.purchase-group-title{display:flex;align-items:center;gap:var(--space-2);min-width:0;font-weight:700;color:var(--color-text-strong)}.purchase-group-title .record-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-group-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;color:var(--color-text-strong);white-space:nowrap}.purchase-group-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--color-text-muted);white-space:nowrap}.purchase-group-body{padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--color-border-soft)}.purchase-group-done-hint{margin:var(--space-2) 0 0}.purchase-detail{display:flex;flex-direction:column;gap:var(--space-4)}.purchase-detail-meta{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-soft)}.purchase-items-heading{margin:0 0 var(--space-2);font-size:var(--fs-md);font-weight:700;color:var(--color-text-strong)}.purchase-items-table td:last-child,.purchase-items-table th:last-child{width:6rem;text-align:center;vertical-align:middle}.purchase-item-thumb{display:block;width:3.25rem;height:3.25rem;object-fit:contain;border:1px solid var(--color-border-soft);border-radius:4px;background:var(--color-surface)}.purchase-item-thumb.is-sm{width:2rem;height:2rem}.purchase-item-thumb.is-empty{display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);color:var(--color-text-muted)}.purchase-item-media{width:4rem;vertical-align:middle}.purchase-edit-no{width:2.5rem;text-align:center;color:var(--color-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.purchase-ref-item-name{color:var(--color-text);font-size:var(--fs-sm)}.purchase-ref-badge{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.purchase-ref-badge.is-button{margin:0;padding:.2rem .55rem;border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);font:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer;text-decoration:none}.purchase-ref-badge.is-button:hover{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-deep)}.purchase-ref-thumb-btn{display:block;margin:0;padding:0;border:none;background:transparent;cursor:pointer}.purchase-ref-thumb-btn:hover .purchase-item-thumb{border-color:var(--color-primary)}.image-lightbox-backdrop{background:rgba(15,23,42,.72)}.image-lightbox-modal{width:min(1400px,98vw);height:min(94vh,1200px);max-height:94vh;padding:0;gap:0;overflow:hidden;display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.image-lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-shrink:0;flex-wrap:nowrap;min-width:0;box-sizing:border-box;height:61px;padding:0 var(--space-4);border-bottom:1px solid rgba(255,255,255,.1);background:var(--color-preview-head);overflow:hidden}.image-lightbox-title-wrap{min-width:0;flex:1 1 auto;color:#fff}.image-lightbox-head .image-lightbox-title,.image-lightbox-head h3{margin:0;padding:0;border:none;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--fs-md);font-weight:700;line-height:1.3;color:#fff}.image-lightbox-head .image-lightbox-subtitle{margin:.15rem 0 0;font-size:var(--fs-xs);color:#fff;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-lightbox-actions{display:flex;align-items:center;gap:var(--space-1_5);flex:0 0 auto;flex-wrap:nowrap}.image-lightbox-actions .btn{white-space:nowrap}.image-lightbox-actions .btn-ghost{background:rgba(255,255,255,.12);color:#f8fafc;border-color:rgba(255,255,255,.2)}.image-lightbox-actions .btn-ghost:hover:not(:disabled){background:rgba(255,255,255,.22);color:#fff}.image-lightbox-viewport{position:relative;flex:1 1 auto;min-height:0;background:#fff;overflow:scroll;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:none;cursor:zoom-in;-webkit-user-select:none;user-select:none}.image-lightbox-viewport.is-zoomed{cursor:grab}.image-lightbox-viewport.is-zoomed:active{cursor:grabbing}.image-lightbox-spacer{box-sizing:border-box;width:100%;height:100%;min-width:100%;min-height:100%;display:flex;align-items:center;justify-content:center}.image-lightbox-stage{position:relative;flex-shrink:0;box-sizing:border-box;max-width:none;max-height:none}.image-lightbox-stage img{display:block;width:100%;height:100%;object-fit:fill;-webkit-user-drag:none;pointer-events:none}.image-lightbox-hint{margin:0;padding:var(--space-2) var(--space-4);font-size:var(--fs-xs);color:var(--color-text-muted);line-height:1.4}.image-lightbox-footer,.image-lightbox-hint{flex-shrink:0;border-top:1px solid var(--color-border-soft);background:var(--color-surface)}.image-lightbox-footer{display:flex;flex-direction:column;gap:var(--space-1_5);font-size:var(--fs-md);word-break:break-all;padding:var(--space-2) var(--space-4) var(--space-3)}.image-lightbox-footer p{margin:0}.image-lightbox-label{color:var(--color-text-muted);font-size:var(--fs-sm);margin-right:.35rem}.image-lightbox-footer a{color:var(--color-primary);text-decoration:underline}@media (max-width:720px){.image-lightbox-backdrop{padding:0;align-items:stretch}.image-lightbox-modal{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.image-lightbox-viewport{min-height:0}.image-lightbox-head{gap:.5rem;height:61px;padding:0 var(--space-3)}.image-lightbox-footer,.image-lightbox-hint{padding-left:var(--space-3);padding-right:var(--space-3);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom, 0px))}}.purchase-item-link a{color:var(--color-primary);text-decoration:underline;white-space:nowrap}.purchase-refs-block{margin-top:var(--space-3)}.purchase-item-row.is-done .purchase-edit-no,.purchase-item-row.is-done .purchase-item-link,.purchase-item-row.is-done .purchase-item-link a,.purchase-item-row.is-done .purchase-item-media,.purchase-item-row.is-done .purchase-item-ref{text-decoration:none}.purchase-item-check{text-align:center;vertical-align:middle}.purchase-item-check input{display:block;width:1.1rem;height:1.1rem;margin:0 auto;cursor:pointer}.purchase-item-check input:disabled{cursor:default}.purchase-item-done-date{display:block;margin-top:.15rem;font-size:var(--fs-xs);color:var(--color-text-muted);line-height:1.2}.purchase-item-row.is-done{opacity:.78;color:var(--color-text);background:var(--color-surface-muted)}.purchase-item-row.is-done td{text-decoration:line-through;text-decoration-color:var(--color-text-muted)}.purchase-item-row.is-done .purchase-item-check{text-decoration:none}.purchase-done-toggle{margin-top:var(--space-2)}.structured-dl,.structured-view{display:flex;flex-direction:column;gap:var(--space-3)}.structured-dl{margin:0}@media (min-width:721px){.structured-dl.machine-profile-dl{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--space-6);row-gap:var(--space-3)}.machine-profile-dl>.structured-field:nth-child(n+8){grid-column:1/-1}}.structured-field{display:grid;grid-template-columns:7.5rem 1fr;gap:var(--space-2) var(--space-3);align-items:start}.structured-field dt{margin:0;font-size:var(--fs-sm);font-weight:700;color:var(--color-text-label);padding-top:var(--space-1)}.structured-field dd{margin:0;color:var(--color-text)}.structured-field dd>ul{margin:0;padding-left:1.2rem}.structured-work-roots{display:flex;flex-direction:column;gap:0}.structured-work-roots>ul{margin:0;padding-left:1.2rem}.structured-work-roots>ul.is-branch:not(:last-child){margin-bottom:var(--space-5)}.structured-pre,.structured-work-sentence{margin:0;white-space:pre-wrap;word-break:break-word}.structured-pre{font-family:inherit}.structured-view-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.structured-view-table td,.structured-view-table th{border:1px solid var(--color-border-soft);padding:var(--space-1_5) var(--space-2);text-align:left}.structured-view-table th{background:var(--color-surface-muted);font-size:var(--fs-sm);color:var(--color-text-label)}.body-photo-view-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:var(--space-2) var(--space-2)}.body-photo-view-cell{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.body-photo-view-item{display:block;width:100%;aspect-ratio:1;padding:0;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface-muted);cursor:zoom-in}.body-photo-view-item img{display:block;width:100%;height:100%;object-fit:cover}.body-photo-caption{margin:0;font-size:var(--fs-sm);line-height:1.35;color:var(--color-text-label);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.drive-preview-title-wrap{flex:1 1}.body-photo-preview-comment{margin:var(--space-1) 0 0;font-size:var(--fs-sm);line-height:1.4;color:var(--color-text-label);white-space:pre-wrap;word-break:break-word}.body-photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:var(--space-2)}.body-photo{margin:0}.body-photo img{display:block;width:100%;height:auto;border-radius:var(--radius-md);border:1px solid var(--color-border-soft)}.body-photo figcaption{margin-top:var(--space-1);font-size:var(--fs-sm);color:var(--color-text-label)}@media (max-width:640px){.structured-field{grid-template-columns:1fr}}.sidebar-drive{display:flex;flex-direction:column;gap:2px;flex-shrink:0;padding-top:0;border-top:0}.sidebar-drive-btn{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-md);background:transparent;font:inherit;font-size:var(--fs-md);text-align:left;color:var(--color-text-on-dark-muted);cursor:pointer;transition:background .12s ease,color .12s ease}.sidebar-drive-btn:hover{background:rgba(255,255,255,.06);color:var(--color-text-on-dark)}.sidebar-drive-btn.active{background:rgba(56,189,248,.14);color:var(--color-brand);font-weight:700}.sidebar-drive-btn .tree-btn-icon{display:inline-flex;color:inherit;opacity:.9}.drive-panel{position:relative;display:flex;flex-direction:column;gap:var(--space-3);min-height:0}.drive-panel.is-dragover{outline:2px dashed var(--color-primary);outline-offset:-6px;background:var(--color-primary-hover)}.drive-toolbar-actions{display:flex;align-items:center;gap:var(--space-1_5);flex-wrap:wrap;justify-content:flex-end}.drive-author-field{display:inline-flex;align-items:center;gap:var(--space-1_5);font-size:var(--fs-sm);color:var(--color-text-muted)}.drive-author-field input{width:7.5rem;padding:var(--space-1_5) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font:inherit;color:var(--color-text-strong);background:var(--color-surface)}.drive-author-field input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.drive-quota{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2_5) var(--space-3);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--color-surface-muted) 0,var(--color-surface) 100%)}.drive-quota.is-warn .drive-quota-fill{background:linear-gradient(90deg,#f59e0b,#dc2626)}.drive-quota-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.drive-quota-text{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);font-size:var(--fs-sm);color:var(--color-text-muted)}.drive-quota-text strong{color:var(--color-text-strong);font-weight:700}.drive-quota-slash{color:var(--color-text-faint)}.drive-quota-edit{border:0;background:transparent;color:var(--color-primary);font:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm)}.drive-quota-edit:hover{background:var(--color-primary-soft)}.drive-quota-bar{height:7px;border-radius:999px;background:var(--color-ghost);overflow:hidden}.drive-quota-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary),var(--color-brand));transition:width .25s ease}.drive-quota-form{display:flex;align-items:flex-end;gap:var(--space-2);flex-wrap:wrap;padding-top:var(--space-1);border-top:1px solid var(--color-border-soft)}.drive-quota-form label{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm);color:var(--color-text-label)}.drive-quota-form input{width:8rem;padding:var(--space-1_5) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font:inherit;background:var(--color-surface)}.drive-path-row{display:flex;align-items:flex-start;gap:var(--space-2);min-width:0}.drive-path{display:flex;flex-wrap:wrap;align-items:center;gap:2px;flex:1 1 auto;min-width:0;padding:var(--space-2) var(--space-2_5);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface-muted);font-size:var(--fs-sm)}.drive-help-btn{flex-shrink:0;margin-top:2px}.drive-help-btn.is-open{background:var(--color-primary-soft);color:var(--color-primary-deep)}.drive-help-panel{padding:var(--space-3);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--fs-sm);line-height:1.55;color:var(--color-text)}.drive-help-list{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:var(--space-2)}.drive-help-list strong{color:var(--color-text-strong);font-weight:700}.drive-crumb{border:0;background:transparent;color:var(--color-primary);font:inherit;font-size:var(--fs-sm);cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-crumb:hover:not(.active){background:rgba(2,132,199,.08)}.drive-crumb.active{color:var(--color-text-strong);font-weight:700;cursor:default}.drive-crumb-sep{color:var(--color-text-faint);padding:0 1px}.drive-composer{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-2) var(--space-2_5);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary-hover)}.drive-composer-inline{width:100%;border-color:var(--color-border);background:var(--color-surface)}.drive-composer-icon{display:inline-flex;color:var(--color-primary);flex-shrink:0}.drive-composer input{flex:1 1;min-width:10rem;padding:var(--space-2) var(--space-2_5);border:1px solid var(--color-border);border-radius:var(--radius-md);font:inherit;background:var(--color-surface)}.drive-composer input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.drive-error{background:var(--color-error-bg);color:var(--color-error-text)}.drive-error,.drive-temp-note{margin:0;padding:var(--space-2) var(--space-2_5);border-radius:var(--radius-md);font-size:var(--fs-sm)}.drive-temp-note{border:1px solid #fde68a;background:#fffbeb;color:#92400e;line-height:1.45}.drive-temp-note-muted{border-color:var(--color-border-soft);background:var(--color-surface-muted);color:var(--color-text-muted)}.drive-selection-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2_5);border-radius:var(--radius-md);border:1px solid var(--color-border-soft);background:var(--color-primary-soft)}.drive-selection-count{font-size:var(--fs-sm);font-weight:700;color:var(--color-primary-deep);margin-right:var(--space-1)}.drive-sort-btn{margin:0;padding:0;border:0;background:none;font:inherit;font-weight:inherit;color:inherit;text-align:inherit;cursor:pointer;border-radius:2px}.drive-sort-btn:hover{color:var(--color-text-strong);text-decoration:underline;text-underline-offset:2px}.drive-sort-btn.is-active{color:var(--color-text-strong);font-weight:700}.drive-col-check{display:flex;align-items:center;justify-content:center;margin:0;cursor:pointer}.drive-col-check input{width:1rem;height:1rem;accent-color:var(--color-primary);cursor:pointer}.drive-table-wrap{flex:1 1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface)}.drive-table-head{display:grid;grid-template-columns:2rem minmax(0,1fr) 4.5rem 5.5rem 5.5rem 6.5rem 8.5rem;gap:var(--space-2);align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-table-head);border-bottom:1px solid var(--color-border-soft);font-size:var(--fs-xs);font-weight:700;color:var(--color-text-label);letter-spacing:.02em;flex-shrink:0}.drive-list{list-style:none;margin:0;padding:0;overflow-y:auto;min-height:0;flex:1 1}.drive-row{display:grid;grid-template-columns:2rem minmax(0,1fr) 4.5rem 5.5rem 5.5rem 6.5rem 8.5rem;gap:var(--space-2);align-items:center;padding:0 var(--space-3);min-height:2.75rem;border-bottom:1px solid var(--color-border-soft);transition:background .12s ease}.drive-row:last-child{border-bottom:0}.drive-row:hover{background:var(--color-primary-hover)}.drive-row.is-selected{background:#e0f2fe}.drive-row.is-editing{grid-template-columns:1fr;padding:var(--space-2) var(--space-3);background:var(--color-surface-muted)}.drive-row.is-temp:not(.is-editing),.drive-table-head.is-temp{grid-template-columns:2rem minmax(0,1fr) 5.5rem 5.5rem 6.5rem 8.5rem}.drive-row-main{min-width:0;display:flex;align-items:center;gap:var(--space-2_5);border:0;background:transparent;font:inherit;text-align:left;cursor:pointer;padding:var(--space-2) 0;color:var(--color-text-strong)}.drive-item-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-md);flex-shrink:0}.drive-item-icon-folder{color:var(--color-primary);background:var(--color-primary-soft)}.drive-item-icon-file{color:var(--color-text-label);background:var(--color-ghost)}.drive-item-icon.has-thumb{padding:0;overflow:hidden;background:var(--color-surface-muted);border:1px solid var(--color-border-soft)}.drive-thumb{width:100%;height:100%;object-fit:cover;display:block}.drive-name{min-width:0;display:flex;align-items:center;gap:var(--space-2);overflow:hidden;font-weight:600}.drive-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-col-ver{font-size:var(--fs-sm);color:var(--color-text-muted);white-space:nowrap}.drive-col-ver,.drive-table-head .drive-col-ver{text-align:center}.drive-ver-chip{border:0;background:var(--color-primary-soft);color:var(--color-primary-deep);font:inherit;font-size:11px;font-weight:700;border-radius:var(--radius-sm);padding:2px 7px;cursor:pointer}.drive-ver-chip:hover{background:#bae6fd}.drive-ver-label{font-size:11px;font-weight:700;color:var(--color-text-muted)}.drive-history-modal{width:min(560px,96vw);max-height:min(80vh,720px);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.drive-history-list{list-style:none;margin:0;padding:0;overflow-y:auto}.drive-history-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2_5) var(--space-4);border-bottom:1px solid var(--color-border-soft)}.drive-history-row:last-child{border-bottom:0}.drive-history-main{min-width:0;display:flex;flex-direction:column;gap:2px}.drive-history-ver{display:flex;align-items:center;gap:var(--space-2);font-weight:700;color:var(--color-text-strong)}.drive-history-current{font-size:11px;font-weight:700;color:var(--color-success-text);background:var(--color-success-soft);border-radius:var(--radius-sm);padding:1px 6px}.drive-history-empty,.drive-history-meta{font-size:var(--fs-sm);color:var(--color-text-muted)}.drive-history-empty{margin:0;padding:var(--space-8) var(--space-4);text-align:center}.drive-history-error{margin:var(--space-3) var(--space-4) 0}.drive-col-date,.drive-col-size{text-align:right}.drive-col-author,.drive-col-date,.drive-col-size{font-size:var(--fs-sm);color:var(--color-text-muted);white-space:nowrap}.drive-col-author{text-align:left;overflow:hidden;text-overflow:ellipsis}.drive-table-head .drive-col-date,.drive-table-head .drive-col-size{text-align:right}.drive-table-head .drive-col-author{text-align:left}.drive-col-actions{min-height:1px}.drive-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:2px;opacity:0;transition:opacity .12s ease}.drive-history-row .drive-row-actions,.drive-row:focus-within .drive-row-actions,.drive-row:hover .drive-row-actions{opacity:1}a.drive-icon-btn,button.drive-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-strong);cursor:pointer;text-decoration:none;padding:0;flex-shrink:0}a.drive-icon-btn:visited{color:var(--color-text-strong)}a.drive-icon-btn:hover:not(:disabled),button.drive-icon-btn:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary-deep)}button.drive-icon-btn-danger:hover:not(:disabled){background:var(--color-error-bg);color:var(--color-error-text)}button.drive-icon-btn:disabled{opacity:.4;cursor:not-allowed}.drive-empty{flex:1 1;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-10) var(--space-4);text-align:center;min-height:14rem}.drive-empty,.drive-empty-icon{align-items:center;justify-content:center}.drive-empty-icon{display:inline-flex;width:4rem;height:4rem;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);margin-bottom:var(--space-1)}.drive-empty-title{margin:0;font-size:var(--fs-md);font-weight:700;color:var(--color-text-strong)}.drive-empty-hint{margin:0;max-width:22rem;font-size:var(--fs-sm);color:var(--color-text-muted);line-height:1.5}.drive-drop-hint{position:absolute;pointer-events:none;font-size:var(--fs-lg);font-weight:700;color:var(--color-primary-deep);background:rgba(224,242,254,.55);border-radius:inherit;z-index:2}.drive-drop-hint,.drive-preview-backdrop{inset:0;display:flex;align-items:center;justify-content:center}.drive-preview-backdrop{position:fixed;z-index:var(--z-modal);background:rgba(15,23,42,.72);padding:var(--space-4)}.drive-confirm-modal{width:min(420px,96vw);padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-3)}.drive-confirm-title{margin:0;font-size:var(--fs-lg);font-weight:700;color:var(--color-text-strong)}.drive-confirm-message{margin:0;font-size:var(--fs-md);line-height:1.55;color:var(--color-text)}.drive-confirm-message.is-warn{padding:var(--space-2_5);border-radius:var(--radius-md);border:1px solid #fde68a;background:#fffbeb;color:#92400e}.drive-confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-1)}.drive-version-delete-modal{width:min(480px,96vw);max-height:min(85vh,640px)}.drive-version-delete-all{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);font-weight:700;color:var(--color-text-strong);cursor:pointer}.drive-version-delete-all input,.drive-version-delete-row input{width:1rem;height:1rem;accent-color:var(--color-primary);cursor:pointer}.drive-version-delete-list{list-style:none;margin:0;padding:0;overflow-y:auto;max-height:min(40vh,280px);border:1px solid var(--color-border-soft);border-radius:var(--radius-md)}.drive-version-delete-list li+li{border-top:1px solid var(--color-border-soft)}.drive-version-delete-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2_5);cursor:pointer;font-size:var(--fs-sm)}.drive-version-delete-row:hover{background:var(--color-primary-hover)}.drive-version-delete-meta{min-width:0;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-preview-modal{width:min(960px,96vw);max-height:min(88vh,920px);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.drive-preview-modal:has(.drive-preview-image){width:min(1400px,98vw);height:min(94vh,1200px);max-height:94vh}.drive-preview-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);box-sizing:border-box;height:61px;padding:0 var(--space-4);border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0;background:var(--color-preview-head);overflow:hidden}.drive-preview-title{margin:0;min-width:0;font-size:var(--fs-md);font-weight:700;color:var(--color-text-on-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-preview-title-wrap{min-width:0;flex:1 1 auto}.drive-preview-actions{display:flex;align-items:center;gap:var(--space-1_5);flex-shrink:0}.drive-preview-actions .btn-ghost{background:rgba(255,255,255,.12);color:#f8fafc;border-color:rgba(255,255,255,.2)}.drive-preview-actions .btn-ghost:hover:not(:disabled){background:rgba(255,255,255,.22);color:#fff}.drive-preview-body{flex:1 1;min-height:0;display:flex;align-items:center;justify-content:center;background:#fff;overflow:auto}.drive-preview-image{width:100%;height:100%;padding:var(--space-2)}.drive-preview-image img{max-width:100%;max-height:calc(94vh - 4.75rem);width:auto;height:auto;object-fit:contain;display:block}.drive-preview-pdf{padding:0;background:var(--color-surface-muted)}.drive-preview-pdf iframe{width:100%;height:min(72vh,780px);border:0;background:var(--color-surface)}.drive-preview-video{width:100%;height:100%;padding:var(--space-3);background:#0f172a}.drive-preview-player{display:block;width:100%;max-width:100%;max-height:min(72vh,780px);margin:0 auto;background:#000}.drive-preview-video-fail{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:min(40vh,280px);padding:var(--space-6);text-align:center;color:var(--color-text)}.drive-preview-video-fail p{margin:0;font-weight:700}.drive-preview-video-fail .hint{font-weight:500;color:var(--color-text-muted);font-size:var(--fs-sm)}.drive-preview-text{width:100%;height:min(72vh,780px);margin:0;padding:var(--space-4);overflow:auto;background:var(--color-surface);color:var(--color-text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--fs-sm);line-height:1.55;white-space:pre-wrap;word-break:break-word}@media (max-width:720px){.drive-row,.drive-row.is-temp:not(.is-editing),.drive-table-head,.drive-table-head.is-temp{grid-template-columns:2rem minmax(0,1fr) 4rem 4.5rem 4.5rem}.drive-col-date,.drive-col-size,.drive-table-head .drive-col-date,.drive-table-head .drive-col-size{display:none}.drive-row.is-temp .drive-col-date,.drive-table-head.is-temp .drive-col-date{display:block;text-align:right}.drive-row-actions{grid-column:1/-1;justify-content:flex-start;opacity:1;padding-bottom:var(--space-2)}.drive-row-main{grid-column:1/2}.drive-col-size{grid-column:2}}