:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#252932;background:#f6f7fa;font-size:15px}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}.shell{display:flex;min-height:100vh}.sidebar{width:260px;flex-shrink:0;background:#191919;color:#fff;padding:26px 16px;display:flex;flex-direction:column}.brand{display:grid;gap:5px;padding:8px 12px 30px;text-decoration:none}.brand span,.eyebrow{font-size:11px;letter-spacing:2px;color:#b38b42}.brand strong{font-size:29px;color:#edcf88;font-weight:650}.brand small{color:#aaa;font-size:11px}.sidebar nav{display:grid;gap:5px}.nav-link{padding:13px;border-radius:9px;text-decoration:none;color:#ddd}.nav-link:hover,.nav-link:focus-visible,.nav-link.active{background:#39332a;color:#edcf88}.logout{margin-top:auto;padding:13px;color:#edcf88;text-decoration:none}.workspace{width:100%;max-width:1800px;min-width:0;margin:0 auto;padding:0 36px 42px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:98px;border-bottom:1px solid #e3e5e9;margin-bottom:28px}.topbar h1{font-size:28px;font-weight:600;margin:7px 0}.org-switcher{display:flex;align-items:center;gap:10px}.org-switcher label{font-size:12px;color:#606775}.intro{color:#697080}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:#fff;border:1px solid #e6e8ec;border-radius:14px;padding:24px;margin:20px 0;box-shadow:0 5px 25px #17171705}.card h2{font-size:19px;margin:0 0 20px}.stat{display:grid;gap:10px}.stat strong{font-size:35px;color:#b38b42}.muted{color:#737987}.create-form{display:grid;grid-template-columns:minmax(150px,1fr) minmax(160px,1fr) auto;gap:12px;align-items:end}.create-form label{font-weight:600;font-size:13px;grid-row:1}.create-form input,.create-form select{grid-row:2}.create-form button{grid-row:2}.create-form input:first-of-type{grid-column:1}.create-form label:first-of-type{grid-column:1}.create-form label:nth-of-type(2){grid-column:2}.create-form input:nth-of-type(2),.create-form select{grid-column:2}input,select{padding:12px;border:1px solid #cdd2dc;border-radius:8px;background:#fff;max-width:100%;min-width:0}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #d9b86c;outline-offset:2px}.primary{background:#1c1c1c;color:#edcf88;border:0;border-radius:8px;padding:12px 18px;font-weight:600}.button-link{display:inline-block;text-decoration:none}.switch-button{background:#fff;border:1px solid #d6d9e0;border-radius:8px;padding:12px}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.list-heading h2{margin:0}.records{padding:0;list-style:none}.records li{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid #eff0f3}.records li:last-child{border-bottom:0}.records a{color:#856221}.records li[hidden]{display:none}.pill{display:inline-block;padding:5px 10px;border-radius:99px;background:#f7efd9;color:#78591b;font-size:12px}.notice{padding:15px 18px;border-radius:9px;margin:15px 0}.notice.error{background:#ffebeb;color:#8d1010}.notice.success{background:#e7f7eb;color:#216337}footer{color:#848995;font-size:12px;margin-top:40px}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px}.login-panel{width:min(430px,100%);background:#fff;padding:40px;border-radius:18px;box-shadow:0 12px 50px #0001}.login-panel h1{font-size:35px;color:#9b7632;margin:5px 0}.login-panel form{display:grid;gap:10px}.login-panel form>label:not(.check){margin-top:10px}.login-panel .check{display:flex;align-items:center;gap:8px}.login-panel .primary{margin-top:10px}@media(max-width:950px){.create-form{grid-template-columns:1fr 1fr}.create-form button{grid-row:3;grid-column:1/-1}.org-switcher{flex-wrap:wrap}}@media(max-width:750px){.shell{display:block}.sidebar{width:100%;padding:14px}.brand{padding-bottom:14px}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-link{overflow-wrap:anywhere}.logout{margin-top:10px}.workspace{padding:0 16px 30px}.topbar{flex-wrap:wrap;padding:15px 0}.stats{grid-template-columns:1fr}.create-form{display:grid;grid-template-columns:1fr}.create-form label,.create-form input,.create-form select,.create-form button{grid-column:1!important;grid-row:auto!important}.card{padding:18px}.login-panel{padding:26px}}

/* V1.4.0 — draft editing */
.document-editor { width:100%; margin-top:12px; }
.document-editor summary { cursor:pointer; font-weight:600; }
.document-editor form { display:grid; gap:10px; margin-top:12px; max-width:520px; }
.document-editor label { display:grid; gap:5px; }
.document-editor input,.document-editor select { width:100%; box-sizing:border-box; }

/* V1.5.0 — document content */
.document-editor textarea, .card textarea { width:100%; box-sizing:border-box; min-height:140px; resize:vertical; font:inherit; line-height:1.5; padding:12px; border:1px solid #c9c9c9; border-radius:8px; background:#fff; color:#171717; }
.document-content { white-space:normal; overflow-wrap:anywhere; line-height:1.6; padding:14px; margin-top:8px; background:#f6f6f6; border-radius:8px; }
.document-preview { margin-top:10px; }

.document-pdf-link{display:inline-flex;align-items:center;white-space:nowrap;color:#8d672c;font-weight:600;text-decoration:underline;text-underline-offset:3px}.document-pdf-link:hover{color:#543a17}

/* V1.7.0 — Workspace and commercial editor */
.documents-workspace{display:grid;gap:22px}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.workspace-heading h2{font-size:29px;letter-spacing:-.6px;margin:9px 0}.workspace-heading p{margin:0}.document-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.document-stats>div{display:grid;gap:12px;padding:22px 24px;background:#fff;border:1px solid #e6e8ec;border-radius:15px}.document-stats span{font-size:13px;color:#747987}.document-stats strong{font-size:30px;color:#ad833c}.documents-list{margin:0}.documents-list .list-heading{margin-bottom:24px}.documents-list .list-heading p{margin:5px 0}.document-table-wrap,.line-table-wrap{overflow-x:auto}.document-table,.line-table{border-collapse:collapse;width:100%;text-align:left}.document-table th,.line-table th{font-size:12px;color:#747987;font-weight:600;background:#f8f9fb;padding:13px}.document-table td,.line-table td{padding:16px 13px;border-bottom:1px solid #edf0f4}.document-table td small{display:block;color:#9095a0;margin-top:5px}.doc-actions{display:flex;gap:14px}.doc-actions a{color:#886321;font-weight:600;text-decoration:none}.commercial-card{margin:0;padding:0;overflow:hidden}.commercial-editor{display:block}.editor-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 30px;border-bottom:1px solid #edf0f4}.editor-head h2{font-size:24px;margin:6px 0}.editor-head p{margin:0}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;padding:24px;background:#fafbfc}.editor-main{display:grid;gap:20px;min-width:0}.editor-panel{padding:24px;background:#fff;border:1px solid #e5e8ee;border-radius:13px}.editor-panel h3{font-size:17px;margin:0 0 18px}.editor-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.editor-panel-head h3{margin-bottom:5px}.editor-panel-head p{margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label,.editor-panel label.full{display:grid;gap:8px;font-size:13px;font-weight:600}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.editor-panel textarea{width:100%}.secondary-button{padding:10px 13px;border:1px solid #d7dbe2;border-radius:8px;background:white;white-space:nowrap}.line-table{min-width:610px}.line-table input{width:100%;padding:9px}.line-table td:nth-child(2){width:100px}.line-table td:nth-child(3){width:140px}.line-table td:nth-child(4){width:110px}.line-table td:last-child{width:40px}.remove-line{background:#fff1f1;color:#a52828;border:0;border-radius:7px;padding:7px 11px}.tax-fields{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}.small{font-size:12px;line-height:1.5}.summary-panel{position:sticky;top:22px}.summary-panel h3{margin-top:8px}.sum-row{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #eef0f3;font-size:13px}.grand-total{font-size:17px;font-weight:700;border-bottom:0;color:#98712f}.edit-document{margin:0}.edit-document>summary{cursor:pointer;font-weight:650}.edit-document>.commercial-editor{margin-top:20px;border:1px solid #e6e8ec;border-radius:12px;overflow:hidden}[hidden]{display:none!important}
@media(max-width:1150px){.editor-grid{grid-template-columns:1fr}.summary-panel{position:static}}@media(max-width:700px){.document-stats{grid-template-columns:1fr}.editor-head{padding:20px;align-items:flex-start;flex-direction:column}.editor-grid{padding:12px}.editor-panel{padding:16px}.form-grid,.tax-fields{grid-template-columns:1fr}.editor-panel-head{align-items:flex-start;flex-direction:column}}

/* V1.7.1 — structured service sections */
.service-sections{display:grid;gap:18px}.service-section{border:1px solid #dce0e7;border-radius:12px;padding:18px;background:#fcfcfd;display:grid;gap:14px;min-width:0}.service-section.is-offered{border-color:#91c9a2;background:#f8fdf9}.service-section-head,.service-section-actions,.service-section-foot,.service-detail-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:space-between}.service-section-actions{justify-content:flex-end}.service-number{font-weight:750;color:#a17a32;font-size:18px}.service-field{display:grid;gap:6px;font-size:12px;font-weight:600;min-width:0}.service-field input,.service-field textarea{width:100%;font-size:14px}.service-field textarea{min-height:65px}.offered-toggle{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:#1b7840;font-size:13px}.offered-toggle input{width:18px;height:18px;min-width:18px;accent-color:#178044}.service-details{display:grid;gap:12px}.service-detail{background:#fff;border:1px solid #e7e9ed;border-radius:9px;padding:14px;display:grid;gap:10px}.service-detail.is-offered{border-color:#b5dbc0}.service-detail-grid{display:grid;grid-template-columns:minmax(130px,2fr) minmax(120px,2fr) minmax(75px,.7fr) minmax(85px,.8fr) minmax(105px,1fr);gap:10px}.service-detail-amount{color:#97722f}.service-detail.is-offered .service-detail-amount{color:#168047}.service-section-foot{border-top:1px solid #e8eaee;padding-top:13px}.service-section-total{color:#9a722e}@media(max-width:1150px){.service-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.service-detail-grid{grid-template-columns:1fr}.service-section{padding:12px}.service-section-actions{justify-content:flex-start}}
/* V1.8.0 — Excel Smart Import */
.excel-import-panel{border:1px solid #d8c18b;background:#fffcf5}
.excel-import-panel input[type=file]{display:block;max-width:100%;margin:10px 0 14px}
.excel-mapping{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:18px 0}
.excel-mapping h4{grid-column:1/-1;margin:0}
.excel-mapping label{display:flex;flex-direction:column;gap:5px;font-size:13px}
.excel-mapping select{width:100%;max-width:100%}
.excel-table-wrap{overflow:auto;max-height:430px;border:1px solid #ddd;border-radius:8px;margin:16px 0}
.excel-preview-table{border-collapse:collapse;min-width:700px;width:100%}
.excel-preview-table th,.excel-preview-table td{padding:7px;border:1px solid #e6e6e6;min-width:125px}
.excel-preview-table input{width:100%;min-width:105px;padding:7px;box-sizing:border-box}
.excel-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.excel-error{color:#a11919;font-weight:600}
/* V1.8.1 advanced Excel review */
.excel-review-section{border:1px solid #b28b47;border-radius:12px;padding:16px;margin:14px 0;display:grid;gap:12px}.excel-review-section label{display:grid;gap:5px}.excel-review-detail{border:1px solid #d6d6d6;border-radius:8px;padding:12px;display:grid;gap:8px}.excel-review-summary{padding:16px;border:1px solid #b28b47;border-radius:8px;margin:12px 0}.excel-review-section textarea{min-height:65px;width:100%}

/* V1.8.1.2: editable long descriptions and flexible discount controls */
.service-detail-grid .service-field:nth-child(2) textarea{min-height:135px;resize:vertical;line-height:1.55;overflow:auto}
.service-detail-grid{grid-template-columns:minmax(150px,2fr) minmax(220px,2.5fr) minmax(75px,.7fr) minmax(85px,.8fr) minmax(105px,1fr)}
.service-detail-grid .service-field:nth-child(n+6){max-width:230px}
@media(max-width:1150px){.service-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.service-detail-grid{grid-template-columns:1fr}}

/* V1.8.1.3 — Document structure and section terms */
.document-structure-fields{display:grid;gap:15px}.document-structure-fields label{display:grid;gap:7px;font-weight:600;font-size:13px}.document-structure-fields textarea{width:100%;min-height:110px;resize:vertical}.service-section>.service-field textarea{min-height:110px;resize:vertical}.excel-review-section textarea{min-height:110px;resize:vertical}

.document-lifecycle-form{display:inline-flex;margin:0}.document-lifecycle-form button{cursor:pointer}.doc-actions{align-items:center;flex-wrap:wrap}.trash-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-top:1px solid #edf0f4}.trash-row .doc-actions{justify-content:flex-end}.document-trash>summary{cursor:pointer;font-weight:650}.document-trash{margin:0}
