:root{--ink:#18231e;--muted:#777e79;--line:#e5e8e5;--green:#355741;--soft:#f4f6f3;--background:#fff;--foreground:#18231e;--blue:#5b8195;--orange:#b58e69;--radius:8px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;font-size:14px;line-height:1.5}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:clamp(30px,3.1vw,46px);letter-spacing:-1.7px;line-height:1.16;font-weight:600}h2{font-size:20px;letter-spacing:-.5px;line-height:1.3}h3{font-size:18px;letter-spacing:-.3px}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:12px}.error{color:#a12f24;font-size:13px;margin:10px 0}.app-shell{max-width:1800px;margin:auto;min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;height:80px;border-bottom:1px solid var(--line);padding:0 44px;gap:40px}.brand{display:flex;align-items:center;gap:12px;font-size:23px;letter-spacing:-.8px;font-weight:600;flex-shrink:0}.brand img{object-fit:contain}.app-header nav{height:100%;display:flex;gap:30px;padding-left:34px;border-left:1px solid var(--line)}.nav-link{display:flex;align-items:center;height:100%;font-size:14px;color:#6d746f;position:relative}.nav-link.active{color:var(--green);font-weight:600}.nav-link.active:after{content:"";height:2px;background:var(--green);position:absolute;bottom:-1px;left:0;right:0}.header-right{margin-left:auto;display:flex;gap:24px;align-items:center;font-size:12px;color:var(--muted)}.header-right form{margin:0}.text-button{border:0;background:transparent;padding:4px 0;color:var(--muted);font-size:12px}.text-button:hover{color:var(--green);text-decoration:underline}main#main{padding:34px 44px 24px;flex:1}.page-heading{margin-bottom:30px}.page-heading p{font-size:16px;color:var(--muted);margin-top:9px}.model-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px;align-items:start}.model-column{min-width:0}.house-model{display:block;width:100%;height:940px;border:0;background:white}.document-sidebar{border-left:1px solid var(--line);padding-left:26px;min-height:670px}.document-sidebar h2{font-size:19px;margin:6px 0 6px}.all-docs{display:block;color:var(--green);font-size:12px;margin-bottom:25px}.doc-row{display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:21px 8px;transition:background .15s;min-width:0}.doc-row:hover{background:var(--soft)}.file-icon{border:1px solid #d1d8d0;border-radius:3px;width:29px;height:35px;display:flex;align-items:center;justify-content:center;color:var(--green);flex-shrink:0;font-size:19px}.row-copy{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.row-copy strong{font-size:13px;font-weight:500;line-height:1.4}.row-meta{color:var(--muted);font-size:11px}.row-arrow{color:#869087;font-size:15px;flex-shrink:0}.doc-row.selected{background:#f0f4ee}.doc-row.selected .row-copy strong{color:var(--green);font-weight:600}.sidebar-note{font-size:12px;line-height:1.7;color:var(--muted);margin-top:25px}.app-footer{border-top:1px solid var(--line);margin:0 44px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;padding:22px 0;gap:20px}.app-footer>div{display:flex;gap:23px}.app-footer strong{font-weight:500;color:#4d574f}.app-footer>div span{border-left:1px solid var(--line);padding-left:23px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid #dce1db;background:#fff;color:var(--ink);padding:11px 17px;border-radius:5px;white-space:nowrap;font-size:13px;min-height:42px;transition:background .15s}.button:hover{background:var(--soft)}.button.primary{background:var(--green);border-color:var(--green);color:white}.button.primary:hover{background:#294633}.docs-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.field{border:1px solid #dce1db;border-radius:5px;padding:11px 13px;background:white;color:var(--ink);width:100%;min-width:0;min-height:43px}.field::placeholder{color:#929a93}.library-toolbar{display:flex;gap:12px;padding:0 0 24px;border-bottom:1px solid var(--line);align-items:center}.search-field{flex:1}.category-select{width:220px}.order-select{width:180px}.checklist{font-size:12px;color:#5b665d;padding:12px 0}.checklist label{display:flex;gap:6px;align-items:center}.checklist input{accent-color:var(--green);width:15px;height:15px}.archive-toggle{padding:0 2px}.library-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,42%);gap:35px;align-items:start}.document-list-column{min-width:0}.list-caption{font-size:11px;color:var(--muted);padding:20px 8px 5px}.document-preview{border-left:1px solid var(--line);padding:24px 0 0 30px;position:sticky;top:20px;min-width:0}.detail-kicker{display:flex;justify-content:space-between;font-size:11px;gap:15px;margin-bottom:12px}.document-detail h2{font-size:24px;line-height:1.3;margin-bottom:15px}.detail-meta{display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:11px;margin-bottom:18px;flex-wrap:wrap}.doc-status{color:var(--green);background:var(--soft);padding:4px 8px;border-radius:3px}.preview-link{display:flex;border:1px solid var(--line);border-radius:5px;background:#f5f6f3;height:330px;align-items:center;justify-content:center;overflow:hidden;padding:16px}.pdf-preview{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 3px 18px #18231e12}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin:19px 0 10px}.document-note{font-size:12px;color:#727c74;line-height:1.7;padding:16px 0;border-bottom:1px solid var(--line)}.document-management{display:flex;gap:20px;margin:18px 0;flex-wrap:wrap}.version-history{border-top:1px solid var(--line);padding:14px 0;color:#69766b;font-size:12px}.version-history summary{cursor:pointer}.history-row{display:flex;justify-content:space-between;gap:14px;padding:12px 0}.history-row strong{font-weight:500}.source-path{overflow-wrap:anywhere;font-size:11px;padding-top:14px}.empty-detail,.empty-list{padding:65px 20px;text-align:center;color:var(--muted)}.empty-detail p,.empty-list p{font-size:12px;margin-top:10px}.empty-icon{font-size:35px;display:block;margin-bottom:15px}.management-message{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;max-width:90vw;border-radius:6px;font-size:12px;box-shadow:0 8px 30px #0002;z-index:20}.management-message:not(:empty){padding:13px 22px}.modal{position:fixed;inset:0;background:#18231e55;display:flex;justify-content:center;align-items:center;z-index:50;padding:25px;backdrop-filter:blur(3px)}.modal-panel{background:white;padding:30px;width:550px;max-width:100%;max-height:92vh;overflow:auto;border-radius:10px;box-shadow:0 12px 80px #0002}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:8px}.close-button{font-size:27px;border:0;background:transparent;color:var(--muted);line-height:1}.modal-panel>label,.form-columns label{display:block;font-size:12px;color:#59675c;margin:17px 0 7px}.modal-panel>p{font-size:12px}.upload-zone{display:flex;justify-content:center;text-align:center;align-items:center;border:1px dashed #bbc9ba;background:#f8faf7;border-radius:6px;min-height:100px;margin-top:20px;cursor:pointer}.upload-zone>div{display:flex;flex-direction:column;gap:6px}.upload-zone strong{font-weight:500;font-size:13px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-panel textarea{resize:vertical;min-height:75px}.modal-panel .checklist label{font-size:12px}.upload-result .error{margin-bottom:14px}.skip-link{position:fixed;top:-100px;background:white;padding:10px;z-index:99}.skip-link:focus{top:10px}.login-body{display:flex;min-height:100vh;align-items:center;justify-content:center;background:white}.login-panel{width:380px;padding:40px 24px;z-index:1}.login-panel .brand{margin-bottom:65px}.login-panel h1{font-size:38px;letter-spacing:-1.3px;margin-bottom:15px}.login-panel>p{color:var(--muted);font-size:14px;line-height:1.8;margin-bottom:30px}.login-panel form label{display:block;font-size:12px;color:#5a675d;margin:18px 0 7px}.login-panel .button{margin-top:23px;width:100%;justify-content:space-between}.login-foot{display:block;color:#909891;font-size:11px;margin-top:35px}.login-drawing{width:470px;height:500px;margin-left:100px;background:#f4f6f2;position:relative;border-radius:5px;overflow:hidden}.login-drawing:before{content:"";position:absolute;width:570px;height:200px;border-top:1px solid #bbc6b5;transform:rotate(-22deg);bottom:-20px;left:-10px}.house-line{position:absolute;left:100px;top:185px;width:250px;height:130px;border:1px solid #789276;transform:skewY(-12deg)}.house-line:before{content:"";position:absolute;left:55px;top:35px;width:140px;height:95px;border:1px solid #789276;border-bottom:0}.house-line:after{content:"";position:absolute;left:10px;top:145px;width:300px;border-top:1px solid #9aad93}.login-drawing>span{position:absolute;bottom:35px;left:35px;font-size:11px;color:#789276}
/* Dash 4 dropdowns inherit the same quiet form styling. */
.dash-dropdown{font-size:12px;min-width:0}.Select-control{border-color:#dce1db!important;min-height:43px!important;border-radius:5px!important}.Select-placeholder,.Select-value{line-height:41px!important}.Select-input{height:41px!important}
@media(min-width:1550px){.model-workspace{grid-template-columns:minmax(0,1fr) 320px}.house-model{height:980px}.model-scene{height:600px}}
@media(max-width:1100px){.app-header{padding:0 26px;gap:28px}main#main{padding:30px 26px 22px}.app-footer{margin:0 26px}.model-workspace{grid-template-columns:minmax(0,1fr) 240px;gap:20px}.document-sidebar{padding-left:18px}.house-model{height:1040px}.header-caption{display:none}.library-workspace{gap:22px}.document-preview{padding-left:22px}.library-toolbar{flex-wrap:wrap}.search-field{flex-basis:100%}.category-select{flex:1}.order-select{flex:1}.app-header nav{padding-left:26px;gap:26px}}
@media(max-width:760px){.app-header{height:69px;padding:0 20px;gap:24px}.brand{font-size:21px;gap:8px}.brand img{width:28px}.app-header nav{border:0;padding:0;gap:22px}.nav-link{font-size:12px}.header-right{gap:0}.header-right .text-button{font-size:10px}main#main{padding:25px 20px 20px}.page-heading{margin-bottom:24px}.page-heading p{font-size:13px;line-height:1.7;max-width:310px}.model-workspace{display:block}.house-model{height:1120px}.document-sidebar{border-left:0;padding-left:0;padding-top:24px;min-height:0;border-top:1px solid var(--line)}.document-sidebar h2{font-size:20px}.document-sidebar .doc-row{padding:17px 4px}.sidebar-note{margin:18px 0}.app-footer{margin:0 20px;font-size:10px;align-items:flex-start}.app-footer>span{display:none}.docs-heading{align-items:flex-start;flex-direction:column;gap:18px}.docs-heading .button{font-size:12px;padding:9px 14px}.library-workspace{display:flex;flex-direction:column-reverse;gap:10px}.document-preview{position:static;width:100%;border:0;padding:20px 0;border-bottom:1px solid var(--line)}.document-list-column{width:100%}.preview-link{height:240px}.document-detail h2{font-size:22px}.document-management{margin:12px 0}.document-note{font-size:11px}.library-toolbar{gap:8px;padding-bottom:18px}.category-select{min-width:170px}.order-select{min-width:140px}.archive-toggle{padding:8px}.modal{padding:12px}.modal-panel{padding:23px 20px}.modal-panel .form-columns{grid-template-columns:1fr;gap:0}.login-drawing{display:none}.login-panel{width:360px}.login-panel .brand{margin-bottom:50px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.file-icon{border:0;border-radius:0;object-fit:contain}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Document library and readable application chrome. */
:root{font-size:15px}
.app-header{height:64px;min-height:64px}
.app-header nav{gap:28px}
.nav-link,.header-right,.text-button{font-size:14px}
.app-header .brand{font-size:22px}
main#main{padding-top:28px}
.model-workspace{display:block}
.model-workspace>.model-column{width:100%}
.model-workspace>.model-column+.document-sidebar,.document-sidebar{display:none!important}
.house-model{height:780px}
.app-footer{font-size:13px;padding:16px 0}
.library-toolbar{padding:0 0 18px;gap:10px}
.library-toolbar .search-field{flex:1 1 280px}
.category-select{width:210px}
.order-select{width:170px}
.zip-all,.library-toolbar>.button{font-size:14px;min-height:43px}
.list-caption{font-size:13px;padding:16px 4px 7px}
.library-workspace{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:30px}
.document-category{border-bottom:1px solid var(--line);padding:8px 0 15px}
.category-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 8px 7px}
.category-heading h2{font-size:17px;font-weight:600;letter-spacing:-.25px}
.zip-link{font-size:13px;color:var(--green);padding:7px 9px;border:1px solid var(--line);border-radius:5px;white-space:nowrap}
.zip-link:hover{background:var(--soft);border-color:#cbd8c8}
.doc-row{gap:14px;padding:12px 8px;min-height:82px}
.doc-row:hover{background:#f5f7f3}
.row-thumbnail{width:46px;height:60px;object-fit:contain;flex:0 0 46px;background:#f8f9f7;border:1px solid #e4e9e1;border-radius:3px;box-shadow:0 2px 8px #18231e0d}
.row-copy{gap:4px}
.row-copy strong{font-size:14px;font-weight:500}
.row-meta{font-size:13px}
.row-arrow{font-size:17px}
.document-preview{padding:22px 0 0 26px}
.detail-kicker,.detail-meta,.version-history,.source-path{font-size:13px}
.document-detail h2{font-size:24px}
.doc-status{font-size:13px}
.detail-actions{margin:14px 0 9px}
.document-note,.empty-detail p,.empty-list p,.document-management{font-size:14px}
.button{font-size:14px}
.management-message{font-size:14px}
.modal-panel>label,.form-columns label,.login-panel form label{font-size:14px}
.modal-panel>p,.modal-panel .checklist label,.upload-zone strong{font-size:14px}
.small,.row-meta,.muted.small,.upload-zone .small{font-size:13px}
.dash-dropdown{font-size:14px}
.Select-placeholder,.Select-value{font-size:14px}
.document-hover-preview{position:fixed;z-index:1000;height:min(84vh,860px);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:#fff;border:1px solid #dce3da;border-radius:8px;overflow:hidden;box-shadow:0 18px 60px #14251d35;animation:preview-in .16s ease-out}
.hover-preview-controls{display:flex;align-items:center;gap:6px;min-height:52px;padding:6px 10px;border-bottom:1px solid var(--line);background:white;flex:0 0 auto}
.hover-preview-title{font-size:14px;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:4px}
.hover-preview-controls button{min-width:36px;height:36px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:white;font-size:16px;color:var(--ink)}
.hover-preview-controls button:hover{background:var(--soft)}
.hover-preview-controls button[data-preview-action="reset"]{font-size:12px;min-width:50px}
.hover-preview-controls button[data-preview-action="close"]{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:66px;font-size:19px}
.preview-esc-hint{padding:2px 4px;border:1px solid #e1e6df;border-radius:4px;background:#f7f8f6;color:#68746a;font:600 10px/1.25 Arial,Helvetica,sans-serif;letter-spacing:.1px}
.hover-pages{display:flex;flex:1;min-height:0;flex-direction:column;align-items:flex-start;gap:18px;overflow:auto;overscroll-behavior:contain;padding:18px 22px 28px;background:#f3f5f2;scrollbar-color:#b9c8b6 transparent}
.hover-page{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;width:100%;min-width:100%;gap:8px;margin:0}
.hover-page img{display:block;width:100%;max-width:none;height:auto;background:#fff;border:1px solid #dce2db;box-shadow:0 5px 18px #1b2a2017;transition:width .16s ease}
.hover-page figcaption{font-size:13px;color:#657065}
@keyframes preview-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.library-workspace{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:20px}.document-preview{padding-left:20px}.library-toolbar{flex-wrap:wrap}.search-field{flex-basis:100%}.category-select,.order-select{flex:1}.zip-all{margin-left:auto}}
@media(max-width:760px){.app-header{height:60px;min-height:60px;padding:0 20px;gap:22px}.app-header .brand{font-size:21px}.app-header nav{gap:20px;padding-left:0;border:0}.nav-link{font-size:14px}.header-right{display:none}main#main{padding:20px 18px 18px}.house-model{height:780px}.library-toolbar{gap:8px}.library-toolbar .search-field{flex-basis:100%}.category-select,.order-select{width:auto;min-width:0;flex:1 1 42%}.archive-toggle{padding:8px 2px}.zip-all{margin-left:0;flex:1}.library-toolbar>.button.primary{flex:0 0 auto}.library-workspace{display:flex;flex-direction:column-reverse;gap:0}.document-preview{position:static;width:100%;border:0;padding:16px 0 20px;border-bottom:1px solid var(--line)}.document-list-column{width:100%}.preview-link{height:240px}.detail-actions .button{flex:1}.document-detail h2{font-size:22px}.app-footer{margin:0 18px;font-size:13px}.document-hover-preview{left:12px!important;right:12px;width:auto!important;height:min(82vh,760px);max-height:calc(100vh - 24px)}.hover-preview-controls{min-height:48px;padding:5px 7px;gap:4px}.hover-preview-controls button{min-width:34px;height:34px}.category-heading h2{font-size:16px}.hover-pages{padding:14px 16px 24px}}
@media(max-width:380px){.app-header{padding:0 14px;gap:15px}.app-header .brand{font-size:19px}.app-header .brand img{width:25px}.app-header nav{gap:14px}.app-header .nav-link{font-size:13px}.library-toolbar>.button.primary{padding-left:10px;padding-right:10px}.row-thumbnail{width:42px;height:56px;flex-basis:42px}.row-copy strong{font-size:13px}.row-meta{font-size:12px}.document-hover-preview{height:80vh}.hover-preview-title{font-size:13px}}

/* The 3D workspace gets the full working width; project documents stay one step away. */
#model-page .page-heading h1{font-size:clamp(29px,2.7vw,38px);letter-spacing:-1.35px}
#model-page .page-heading{margin-bottom:24px}
#model-page .model-workspace{display:block}
#model-page .house-model{height:780px;background:white}
#model-page .document-sidebar{margin-top:14px;min-height:0;border:1px solid #e0e6df;border-radius:7px;padding:12px 17px;display:grid;grid-template-columns:135px minmax(0,1fr) 145px;gap:15px;align-items:center}
#model-page .document-sidebar h2{font-size:12px;margin:0;letter-spacing:-.2px;grid-column:1;grid-row:1}
#model-page .document-sidebar .all-docs{font-size:11px;margin:0;grid-column:3;grid-row:1;text-align:right}
#model-page #featured-docs{grid-column:2;grid-row:1;display:flex;align-items:stretch;min-width:0}
#model-page .document-sidebar .doc-row{border-bottom:0;border-left:1px solid #e5eae2;padding:5px 12px;gap:8px;flex:1;min-width:0;align-items:center}
#model-page .document-sidebar .file-icon{width:18px;height:23px}
#model-page .document-sidebar .row-copy strong{font-size:10px;line-height:1.5;font-weight:400}
#model-page .document-sidebar .row-meta,#model-page .document-sidebar .row-arrow,#model-page .sidebar-note{display:none}
@media(max-width:1100px){#model-page .document-sidebar{grid-template-columns:120px minmax(0,1fr);gap:10px}#model-page .document-sidebar .all-docs{grid-column:1;grid-row:2;text-align:left}#model-page #featured-docs{grid-column:2;grid-row:1 / 3;flex-wrap:wrap}#model-page .document-sidebar .doc-row{flex-basis:30%;padding:7px 10px}}
@media(max-width:760px){#model-page .page-heading h1{font-size:30px;letter-spacing:-1.2px}#model-page .document-sidebar{display:block;padding:18px 16px;margin-top:15px}#model-page .document-sidebar h2{font-size:15px;margin-bottom:12px}#model-page #featured-docs{display:block}#model-page .document-sidebar .doc-row{padding:12px 0;border-left:0;border-bottom:1px solid #edf0e9}#model-page .document-sidebar .file-icon{width:21px;height:25px}#model-page .document-sidebar .row-copy strong{font-size:12px}#model-page .document-sidebar .all-docs{margin-top:15px;font-size:12px}}
#model-page .document-sidebar .row-copy strong{font-size:11px}
@media(max-width:380px){.app-header{gap:13px;padding:0 15px}.app-header .brand{font-size:18px;gap:6px}.app-header .brand img{width:24px}.app-header nav{gap:14px}.app-header .nav-link{font-size:11px}.header-right .text-button{font-size:9px}}

@media(min-width:761px){
  .document-hover-preview{height:min(92vh,1000px);max-height:calc(100vh - 24px)}
}

/* Keep document actions aligned and give each row a direct download target. */
.doc-row-container{display:flex;align-items:stretch;min-width:0;border-bottom:1px solid var(--line);transition:background .15s}
.doc-row-container:hover{background:var(--soft)}
.doc-row-container .doc-row{flex:1;min-width:0;border-bottom:0;background:transparent}
.doc-row-container.selected{background:#f0f4ee}
.doc-row-container.selected .doc-row{background:transparent}
.row-download{display:flex;flex:0 0 44px;align-items:center;justify-content:center;margin:7px 8px 7px 0;border:1px solid transparent;border-radius:5px;color:#667969;font-size:20px;transition:background .15s,border-color .15s,color .15s}
.row-download:hover{background:#fff;border-color:#dce4d9;color:var(--green)}
.row-download:focus-visible{outline-offset:1px}

/* One rhythm across the document search and filter controls. */
.library-toolbar{align-items:stretch}
.library-toolbar .search-field,.library-toolbar .dash-dropdown,.library-toolbar>.checklist,.library-toolbar>.button{height:44px;min-height:44px}
.library-toolbar .search-field{padding-top:9px;padding-bottom:9px}
.library-toolbar .dash-dropdown{display:flex;align-items:stretch}
.library-toolbar .dash-dropdown .Select,.library-toolbar .dash-dropdown .Select-control{height:44px;min-height:44px}
.library-toolbar .dash-dropdown .Select-control{display:flex;align-items:center}

/* Lucide icons are served locally under their ISC license and rendered as masks
   so they inherit the surrounding text and button color. */
.ui-icon{display:inline-block;width:17px;height:17px;flex:0 0 17px;background-color:currentColor;mask:var(--lucide-icon) center/contain no-repeat;-webkit-mask:var(--lucide-icon) center/contain no-repeat;vertical-align:middle}
.icon-arrow-right{--lucide-icon:url('/assets/icons/arrow-right.svg')}
.icon-archive{--lucide-icon:url('/assets/icons/archive.svg')}
.icon-download{--lucide-icon:url('/assets/icons/download.svg')}
.icon-search{--lucide-icon:url('/assets/icons/search.svg')}
.icon-eye{--lucide-icon:url('/assets/icons/eye.svg')}
.icon-external-link{--lucide-icon:url('/assets/icons/external-link.svg')}
.icon-plus{--lucide-icon:url('/assets/icons/plus.svg')}
.icon-clock-3{--lucide-icon:url('/assets/icons/clock-3.svg')}
.icon-file-text{--lucide-icon:url('/assets/icons/file-text.svg')}
.icon-folder-open{--lucide-icon:url('/assets/icons/folder-open.svg')}
.icon-calendar-days{--lucide-icon:url('/assets/icons/calendar-days.svg')}
.search-control{position:relative;display:flex;align-items:center;flex:1 1 280px;min-width:220px;height:44px;color:#819084}
.search-control>.ui-icon{position:absolute;left:14px;width:18px;height:18px;z-index:1}
.search-control .search-field{height:44px;min-height:44px;padding-left:42px}
.library-toolbar .search-control{height:44px}
.zip-link{display:inline-flex;align-items:center;gap:7px}
.zip-link .ui-icon{width:16px;height:16px;flex-basis:16px}
.row-arrow{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:#728276}
.row-arrow .ui-icon{width:18px;height:18px;flex-basis:18px}
.row-download{font-size:0}
.row-download .ui-icon{width:18px;height:18px;flex-basis:18px}
.button .ui-icon{width:16px;height:16px;flex-basis:16px}
.detail-actions .button{gap:8px}
.document-date,.document-file-meta{display:inline-flex;align-items:center;gap:5px}
.document-date .ui-icon,.document-file-meta .ui-icon{width:15px;height:15px;flex-basis:15px}
.history-version{display:inline-flex;align-items:center;gap:8px}
.history-row>.ui-icon{width:16px;height:16px;flex-basis:16px}
.version-history summary{display:flex;align-items:center;gap:7px}
.version-history summary .ui-icon{width:16px;height:16px;flex-basis:16px}
.empty-icon.ui-icon{width:34px;height:34px;flex-basis:34px;color:#758a76;margin:0 auto 15px}
.house-model{overflow:hidden}
@media(max-width:760px){.search-control{flex:1 1 100%;min-width:0}.library-toolbar .search-control{flex-basis:100%}}
.library-toolbar .dash-dropdown .Select-placeholder,.library-toolbar .dash-dropdown .Select-value{line-height:42px!important}
.library-toolbar .dash-dropdown .Select-input{height:42px}
.library-toolbar>.checklist{display:flex;align-items:center;padding:0 2px}
.library-toolbar>.button{display:inline-flex;align-items:center;justify-content:center;padding-top:0;padding-bottom:0}

@media(max-width:760px){
  .doc-row-container .doc-row{padding:12px 6px;gap:10px}
  .row-download{flex-basis:40px;margin:6px 5px 6px 0}
  .library-toolbar{align-items:stretch}
  .library-toolbar .search-field{flex-basis:100%}
  .library-toolbar .category-select,.library-toolbar .order-select{height:44px;min-height:44px}
}

/* Make secondary copy comfortable to read across the complete application. */
:root{font-size:16px}
.app-header{height:58px;min-height:58px}
.all-docs,.row-meta,.sidebar-note,.list-caption,.detail-kicker,.detail-meta,
.source-path,.version-history,.empty-detail p,.empty-list p,.login-foot,
.login-drawing>span,.checklist,.docs-heading .button,.zip-link,.document-note,
.header-right,.text-button,.nav-link,.management-message,.modal-panel>label,
.form-columns label,.modal-panel>p,.modal-panel .checklist label,
.login-panel form label,.dash-dropdown,
.hover-page figcaption,.preview-esc-hint{font-size:13px}
.header-right .text-button,.app-header .nav-link{font-size:13px}
.row-copy strong{font-size:14px}
.small,.row-meta,.muted.small,.upload-zone .small{font-size:13px}
.app-footer{font-size:13px}
#model-page .document-sidebar h2{font-size:14px}
#model-page .document-sidebar .all-docs{font-size:13px}
#model-page .document-sidebar .row-copy strong{font-size:14px;line-height:1.4}
.hover-preview-controls button[data-preview-action="reset"]{font-size:13px}
@media(max-width:760px){
  .app-header{height:56px;min-height:56px}
  .nav-link,.app-header .nav-link{font-size:14px}
  .app-header .nav-link{white-space:nowrap}
  .docs-heading .button,.document-note,.row-meta,.all-docs{font-size:13px}
}
@media(max-width:380px){.app-header .nav-link{font-size:13px}}

/* Give the main navigation more visual weight and keep its labels easy to scan. */
.app-header .nav-link{font-size:16px}
@media(max-width:760px){.app-header .nav-link{font-size:15px}}
@media(max-width:380px){.app-header .nav-link{font-size:14px}}

/* A shared public/sign-in experience with clear, non-leaking locked rows. */
.header-right .auth-link{min-height:34px;padding:6px 11px;border-radius:5px;font-size:13px;color:var(--green)}
.header-right .auth-link:hover{background:var(--soft);border-color:#cbd8c8}
.locked-thumbnail{display:flex;align-items:center;justify-content:center;color:#58705d;background:#f1f5ef}
.locked-thumbnail .ui-icon{width:21px;height:21px;flex-basis:21px}
.locked-notice{display:flex;align-items:flex-start;gap:14px;margin:22px 0;padding:17px;border:1px solid #dce5da;border-radius:6px;background:#f5f8f3;color:#304b36}
.locked-notice-icon{width:22px;height:22px;flex-basis:22px;margin-top:1px}
.locked-notice strong{font-size:15px;font-weight:600}
.locked-notice p{margin-top:5px;color:var(--muted);font-size:13px;line-height:1.6}
.locked-detail>.auth-login-link{margin-top:2px}
.locked-detail-icon{color:var(--green)}
.icon-lock-keyhole{--lucide-icon:url('/assets/icons/lock-keyhole.svg')}
@media(max-width:760px){.header-right{display:flex;gap:0}.header-caption{display:none}.header-right .auth-link{font-size:12px;min-height:32px;padding:5px 8px}}
@media(max-width:380px){.header-right .auth-link{padding:5px 6px;font-size:11px}.app-header{gap:10px}}
