:root{font-family:Arial,Helvetica,sans-serif;color:#16293a;background:#f7f8f9;font-size:14px}
*{box-sizing:border-box}body{margin:0}.top-rule{background:#912735;height:5px}.header{height:77px;background:#fff;border-bottom:1px solid #dbe0e4;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,3.1vw,54px)}.wordmark .name{font-family:Georgia,serif;font-size:25px;letter-spacing:.045em;font-weight:700;color:#172b3e}.wordmark .name span{color:#922838}.subname{font-size:9px;letter-spacing:.2em;color:#697a87;margin-top:3px}.head-right{display:flex;align-items:center;gap:16px;color:#4d5964;font-size:12px}.mode{color:#7b5660;background:#f9eff1;border:1px solid #ebd8dd;border-radius:4px;padding:6px 9px;letter-spacing:.06em;font-size:10px;font-weight:bold}main{max-width:1750px;margin:auto;padding:25px clamp(16px,3.1vw,54px) 60px}h1{font-family:Georgia,serif;font-size:28px;letter-spacing:-.025em;margin:0 0 7px}h2{font-family:Georgia,serif;font-size:20px;margin:0}p{line-height:1.5}.subtle{color:#697985;font-size:13px}.section{background:white;border:1px solid #e0e5e8;border-radius:5px;box-shadow:0 2px 8px #172b3e08;margin-top:20px}.section-header{padding:19px 23px;display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid #e7ebed}.section-header p{margin:5px 0 0}.controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}button{cursor:pointer;background:#fff;border:1px solid #d5dce2;color:#263e51;border-radius:4px;padding:8px 11px;font:inherit}button:hover{border-color:#862a3b;background:#faf5f6}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #a3213c;outline-offset:2px}.primary{background:#8f2838;color:#fff;border-color:#8f2838;font-weight:600}.primary:hover{background:#752130;color:#fff}.quiet{border:none;background:transparent;text-decoration:underline}.small{padding:5px 8px;font-size:12px}.search{min-width:265px;width:min(26vw,365px);height:35px;border:1px solid #cdd6db;padding:8px 11px;border-radius:4px}label{display:block;font-size:12px;color:#465869;font-weight:600}label input{display:block;margin-top:6px;width:100%;height:39px;border:1px solid #cad3d8;border-radius:4px;padding:9px;font-size:14px}a{color:#832437;text-decoration:none;font-weight:600}a:hover{text-decoration:underline}.table-scroll{overflow:auto;max-height:53vh;scrollbar-color:#bcc7cd #f2f3f5}.table-scroll.todo{max-height:290px}.data-table{border-spacing:0;border-collapse:separate;width:100%;font-size:13px;table-layout:fixed;min-width:900px}.data-table th,.data-table td{border-bottom:1px solid #e8ecef;padding:0 11px;height:43px;text-align:left;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.data-table th{position:sticky;top:0;background:#f3f5f6;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#586b79;border-bottom:1px solid #d8e0e3;z-index:2}.data-table tbody tr:hover{background:#faf8f8}.data-table tr:last-child td{border-bottom:none}.data-table input.cell,.data-table select.cell{width:100%;height:32px;padding:5px 6px;border:1px solid transparent;background:transparent;color:#1c3446;font:inherit}.data-table input.cell:hover,.data-table select.cell:hover{border-color:#e1d7d9}.data-table .cell:focus{background:#fff;border-color:#a62440;outline:1px solid #a62440}.data-table select.cell{cursor:pointer}.due-late{color:#9a2434;font-weight:700}.due-today{color:#915927;font-weight:700}.priority-high{color:#9a2434;font-weight:700}.empty{text-align:center;padding:28px!important;color:#71808b}.resizer{width:7px;cursor:col-resize;height:100%;position:absolute;right:0;top:0}.sort-head{background:transparent;border:0;text-align:left;font-size:inherit;font-weight:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;padding:0;max-width:90%;overflow:hidden;text-overflow:ellipsis}.cols-menu{position:relative}.cols-menu summary{list-style:none;cursor:pointer;padding:8px 11px;border:1px solid #d5dce2;border-radius:4px}.cols-menu summary::-webkit-details-marker{display:none}.columns-popup{position:absolute;z-index:10;right:0;top:40px;width:244px;background:#fff;border:1px solid #cdd5db;padding:12px;box-shadow:0 9px 20px #11233420;max-height:340px;overflow:auto}.columns-popup label{padding:5px 0;display:flex;gap:8px;align-items:center;font-weight:400;color:#273e51}.columns-popup input{margin:0;width:auto;height:auto}.columns-popup .move-btn{font-size:11px;padding:1px 4px}.columns-popup .cols-row{display:flex;align-items:center;gap:5px}.columns-popup .cols-row label{flex:1}.toolbar-bottom{display:flex;justify-content:space-between;align-items:center;padding:9px 19px;background:#fcfcfd;border-top:1px solid #e5eaec;color:#71808b;font-size:12px}.login-panel{margin:80px auto;max-width:465px;background:#fff;border:1px solid #d8e0e5;padding:40px}.login-panel form{margin-top:22px;display:grid;gap:18px}.error{color:#a32337}.toast{position:fixed;right:22px;bottom:20px;z-index:100;background:#193449;color:white;border-radius:4px;padding:12px 18px;box-shadow:0 7px 22px #0002}.toast.error{background:#92293b;color:white}.page-nav{margin-bottom:18px}.record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px 21px;padding:26px}.record-grid select,.record-grid textarea{display:block;margin-top:6px;width:100%;border:1px solid #cad3d8;border-radius:4px;padding:9px;font:inherit;color:#263d50;background:#fff}.record-grid textarea{height:130px}.record-grid .wide{grid-column:span 3}.record-grid .field-description{color:#8a9399;font-size:11px;margin-top:3px}.record-grid input{background:#fff}.record-actions{display:flex;gap:9px;padding:16px 23px;border-top:1px solid #e5eaec}.aff-list{padding:12px 23px 21px;margin:0;list-style:none}.aff-list li{padding:12px 0;border-bottom:1px solid #e9edf0}.aff-list li:last-child{border:0}.tag{display:inline-block;border:1px solid #d8e0e5;padding:3px 7px;color:#647789;border-radius:3px;margin-left:8px;font-size:11px}.hint{padding:10px 20px;background:#faf8f8;color:#69636c;font-size:12px}.field-note{color:#9d2a3d;font-size:12px}.demo-flag{padding-left:9px;border-left:3px solid #a32b40}.hidden{display:none!important}
@media(max-width:820px){.header{padding:8px 17px}.head-right .mode{display:none}main{padding:20px 11px}.section-header{padding:16px;align-items:flex-start;flex-direction:column}.controls{width:100%}.search{width:100%;min-width:0}.record-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px}.record-grid .wide{grid-column:span 2}.wordmark .name{font-size:20px}}
@media(max-width:520px){.record-grid{grid-template-columns:1fr}.record-grid .wide{grid-column:span 1}.subname{font-size:8px}}
.name-edit{border:0;background:transparent;color:#84909a;margin-left:4px;font-size:15px;padding:0 3px;opacity:.65}.name-edit:hover,.name-edit:focus{color:#90293b;opacity:1;background:#f9eef0}

/* New functionality only; original 2.0 corporate design remains otherwise unchanged. */
.main-nav{display:flex;align-items:center;gap:10px}.main-nav .quiet{white-space:nowrap;text-decoration:none;font-weight:600;color:#293f50}
.main-nav .nav-active{border-bottom:2px solid #942a3c;border-radius:0}
.sign-in-link{display:inline-block;margin-top:14px;padding:12px 20px;border-radius:4px}
.tx-table{min-width:900px}.tx-table th:nth-child(1){width:105px}.tx-table th:nth-child(2){width:205px}
.invoice-list{padding:12px 20px}.invoice-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e3e8ea}
.invoice-row:last-child{border-bottom:0}.record-grid input:disabled{background:#f4f6f7;color:#647483}
@media(max-width:820px){.head-right{gap:6px}.main-nav{gap:2px}.main-nav .quiet{font-size:11px;padding:7px}.head-right #signed-user{display:none}}

/* Build 03: CSV import reuses the existing table system and corporate typography. */
.import-controls{padding:22px;display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.import-controls .subtle{width:100%;margin:0}
.import-table{min-width:820px}.import-table th:nth-child(1){width:80px}
.import-table th:nth-child(2){width:165px}.import-table th:nth-child(3){width:230px}
.import-table th:nth-child(4){width:130px}.import-issues{padding:12px 20px}
.import-issue{display:flex;flex-wrap:wrap;gap:11px;align-items:center;border-bottom:1px solid #e7ebed;padding:11px 0}
.import-issue span{flex:1;min-width:270px}

/* Build 05: scoped document operations, existing corporate design unchanged. */
.word-fields-panel{padding:20px;border-top:1px solid #e3e8ea}.word-fields-panel h3{margin:0 0 12px;font-family:Georgia,serif}.word-fields-panel select{min-width:245px;max-width:100%;padding:10px;border:1px solid #cdd5da}.word-field-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:15px}.word-field-form button{justify-self:start;align-self:end}.template-review{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.template-review button{font-size:12px}.invoice-row{flex-wrap:wrap}.invoice-row a{white-space:nowrap}@media(max-width:700px){.word-field-form{grid-template-columns:1fr}}


/* Traver HRE 2.0 — Quiet, seamless page motion.
   Animate only newly rendered top-level workspace content. Keep the
   header/navigation anchored, and never animate table scroll or layout size. */
@keyframes traver-workspace-enter {
  from { opacity: .72; transform: translate3d(0, 4px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}
#app > * {
  animation: traver-workspace-enter 180ms cubic-bezier(.22, 1, .36, 1) both;
}
button, .main-nav .quiet, .cols-menu summary, .sign-in-link {
  transition: background-color 150ms ease, border-color 150ms ease,
              color 150ms ease, box-shadow 150ms ease;
}
@media (prefers-reduced-motion: reduce) {
  #app > * { animation: none !important; }
  button, .main-nav .quiet, .cols-menu summary, .sign-in-link {
    transition: none !important;
  }
}
