/* Project workspace and toolbox use the calculator's blue/white UI standard. */
.template-ui-root :is(.project-list-page,.project-center-page,main[data-tools-simplified]) {
  --project-blue:#1762ed; --project-ink:#102b50; --project-muted:#6580a4; --project-line:#dfe8f6;
  font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:13px; line-height:1.6; color:var(--project-ink);
}
.template-ui-root :is(.project-list-page,.project-center-page,main[data-tools-simplified]) :is(h1,h2,h3,h4,h5,p,button,input,select,textarea,table,[class*="font-"]) { font-family:inherit; }
.template-ui-root :is(.project-list-page,.project-center-page) [hidden],
.template-ui-root .project-center-page .hidden { display:none !important; }
.template-ui-root :is(.project-list-page,.project-center-page) button:not(.tab-btn),
.template-ui-root .project-list-page .project-list-primary {
  display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:36px;
  padding:7px 13px; border:1px solid #d8e3f3; border-radius:7px; background:#fff;
  color:#3365aa; font-size:13px; font-weight:500; line-height:20px; white-space:nowrap;
  box-shadow:none; cursor:pointer; transition:border-color .15s,background .15s,color .15s;
}
.template-ui-root :is(.project-list-page,.project-center-page) button:not(.tab-btn):hover { background:#f1f6ff; border-color:#9bbcf0; }
.template-ui-root .project-list-page :is(a,button).project-list-primary,
.template-ui-root .project-center-page button:is([data-action="project-edit"],[data-action="project-new-calc"]) { background:var(--project-blue); color:#fff; border-color:var(--project-blue); }
.template-ui-root .project-list-page :is(a,button).project-list-primary:hover,
.template-ui-root .project-center-page button:is([data-action="project-edit"],[data-action="project-new-calc"]):hover { background:#1355d0; border-color:#1355d0; color:#fff; }
.template-ui-root :is(.project-list-page,.project-center-page) button:disabled { opacity:.45; cursor:not-allowed; }
.template-ui-root :is(.project-list-page,.project-center-page) button .material-symbols-outlined { font-size:17px; }
.template-ui-root :is(.project-list-page,.project-center-page) :is(a,button,input,select,textarea):focus-visible { outline:2px solid #72a2f4; outline-offset:3px; }
.template-ui-root .project-list-page :is(input,select) { height:38px; min-height:38px; border:1px solid var(--project-line); border-radius:7px; padding:8px 11px; font-size:13px; color:var(--project-ink); background:#fff; box-shadow:none; }
.template-ui-root .project-list-page :is(input,select):focus { border-color:#6a9df0; outline:none; box-shadow:0 0 0 3px #1762ed0d; }
.template-ui-root .project-list-page input::placeholder { color:#94a3b8; }
.template-ui-root .project-list-card { border:1px solid var(--project-line); border-radius:12px; box-shadow:0 4px 18px #24549606; }
.template-ui-root .project-filter-card { margin-bottom:20px; }
.template-ui-root .project-filter-heading { padding:18px 20px 0; }
.template-ui-root :is(.project-filter-heading,.project-list-summary) h2 { margin:0; font-size:16px; line-height:24px; font-weight:650; color:var(--project-ink); }
.template-ui-root .project-filter-heading p { margin:4px 0 0; font-size:12px; color:var(--project-muted); }
.template-ui-root .project-list-search { display:grid; grid-template-columns:minmax(0,1fr) 180px auto; gap:16px; padding:16px 20px 20px; background:#fff; }
.template-ui-root .project-list-search label { gap:7px; min-width:0; color:#526b8a; font-size:12px; }
.template-ui-root .project-list-search label:first-child { min-width:0; }
.template-ui-root .project-list-search select { min-width:0; width:100%; }
.template-ui-root .project-list-search-actions { display:flex; gap:8px; }
.template-ui-root .project-list-page .project-list-search-actions button { min-height:38px; }
.template-ui-root .project-list-summary { padding:16px 20px; border-top:0; border-bottom:1px solid #e6eef8; background:#fbfdff; }
.template-ui-root .project-list-summary > div { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.template-ui-root .project-list-summary span { color:var(--project-muted); font-size:12px; }
.template-ui-root .project-list-summary b { color:var(--project-blue); font-weight:650; }
.template-ui-root .project-list-item { padding:20px; border-bottom:1px solid #e9eff8; }
.template-ui-root .project-list-item:last-child { border-bottom:0; }
.template-ui-root .project-list-name { color:var(--project-ink); font-size:16px; font-weight:650; line-height:1.65; }
.template-ui-root .project-list-name:hover { color:var(--project-blue); }
.template-ui-root .project-list-status { padding:3px 9px; border:1px solid #dbe8ff; border-radius:5px; background:#eff5ff; color:#2763c4; font-size:12px; }
.template-ui-root .project-list-status[data-status="archived"] { background:#f4f6f9; border-color:#e5eaf2; color:#718096; }
.template-ui-root .project-list-status[data-status="won"] { background:#eef8f3; border-color:#d7ece2; color:#27805b; }
.template-ui-root .project-list-meta { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:12px 20px; margin:12px 0; color:#4b6585; font-size:12px; }
.template-ui-root .project-list-meta > span { min-width:0; display:flex; gap:10px; }
.template-ui-root .project-list-page em { flex-shrink:0; color:#8294ac; font-style:normal; font-weight:400; }
.template-ui-root .project-list-item-foot { align-items:center; color:#4b6585; font-size:12px; }
.template-ui-root .project-list-item-foot > span { display:flex; gap:10px; }
.template-ui-root .project-list-item-foot > a { color:var(--project-blue); font-weight:500; }
.template-ui-root .project-list-pagination { justify-content:space-between; gap:12px; padding:14px 20px; border-top:1px solid #e6eef8; background:#fbfdff; color:var(--project-muted); font-size:12px; }
.template-ui-root .project-list-pagination > div { display:flex; gap:8px; }
.template-ui-root .project-list-empty { display:flex; flex-direction:column; align-items:center; gap:10px; padding:40px 20px; line-height:1.7; }
.template-ui-root .project-list-empty > .material-symbols-outlined { color:#98b5df; font-size:34px; }
.template-ui-root .project-list-empty strong { color:#436181; font-size:14px; font-weight:600; }
.template-ui-root .project-list-empty p { margin:0 0 6px; font-size:13px; color:var(--project-muted); }
.template-ui-root .project-center-page { width:100%; max-width:1280px; margin:0 auto; padding:91px 40px 30px; }
.template-ui-root .project-center-page .project-detail-intro { display:block; }
.template-ui-root .project-center-page .project-hero-row { gap:20px; align-items:flex-start; }
.template-ui-root .project-center-page .project-hero-row > :first-child { flex:1; min-width:0; }
.template-ui-root .project-center-page .project-hero-row h1 { font-size:27px; line-height:1.45; font-weight:750; letter-spacing:-.5px; }
.template-ui-root .project-center-page .project-hero-row h1 + span { margin-top:6px; padding:3px 9px; border-color:#dbe8ff; border-radius:5px; color:#2763c4; font-size:12px; }
.template-ui-root .project-center-page .project-hero-actions { padding-top:1px; gap:8px; }
.template-ui-root .project-center-page .project-action-icon { width:16px; height:16px; }
.template-ui-root .project-overview-card { margin-top:20px; border:1px solid var(--project-line); border-radius:12px; background:#fff; box-shadow:0 4px 18px #24549606; overflow:hidden; }
.template-ui-root .project-overview-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 20px; border-bottom:1px solid #e9eff8; background:#fbfdff; }
.template-ui-root .project-overview-head h2 { margin:0; color:var(--project-ink); font-size:15px; font-weight:650; }
.template-ui-root .project-overview-head a { color:var(--project-blue); font-size:12px; }
.template-ui-root [data-project-overview-fields] { padding:16px 20px; }
.template-ui-root .project-overview-card :is(.gap-6,.project-info-summary) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 20px; margin:0; color:#4b6585; font-size:12px; line-height:1.8; }
.template-ui-root .project-overview-card .project-info-summary { margin-top:10px; }
.template-ui-root .project-overview-card .material-symbols-outlined { display:none; }
.template-ui-root .project-overview-card .project-info-summary > p { grid-column:1/-1; width:auto; margin:4px 0 0; padding-top:12px; border-top:1px dashed #e4ecf8; color:#8294ac; }
.template-ui-root .project-center-page > .grid { gap:20px; }
.template-ui-root .project-center-page .sticky { top:86px; padding:8px; }
.template-ui-root .project-center-page .tab-btn { min-height:44px; margin:0 0 4px; padding:10px 12px; border-radius:7px; font-size:13px; }
.template-ui-root .project-center-page .tab-btn > div { gap:10px; }
.template-ui-root .project-center-page .tab-btn .material-symbols-outlined { font-size:19px; }
.template-ui-root .project-center-page .tab-btn.bg-primary-container { color:#fff; background:var(--project-blue); }
.template-ui-root .project-center-page .tab-btn > span { padding:1px 6px; border-radius:5px; background:#eef4fe; color:#5b7dae; font-size:11px; }
.template-ui-root .project-center-page .tab-btn.bg-primary-container > span { color:#fff; background:#ffffff26; }
.template-ui-root .project-center-page .grid.grid-cols-1.md\:grid-cols-3 { gap:16px; }
.template-ui-root .project-center-page .grid.grid-cols-1.md\:grid-cols-3 > div { padding:17px 20px; min-height:122px; border:1px solid var(--project-line); border-radius:12px; }
.template-ui-root .project-center-page .font-display-lg { font-size:26px; line-height:1.4; color:#2456a0; letter-spacing:-.3px; font-weight:650; }
.template-ui-root .project-center-page .grid.grid-cols-1.md\:grid-cols-3 p { margin-top:8px; font-size:12px; color:#8294ac; }
.template-ui-root .project-center-page .project-standard-panel { border:1px solid var(--project-line); border-radius:12px; background:#fff; overflow:hidden; box-shadow:0 4px 18px #24549606; }
.template-ui-root .project-center-page .project-standard-panel > .rounded-xl.border { border:0; border-radius:0; box-shadow:none; }
.template-ui-root .project-center-page .project-panel-heading { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-start; gap:8px; padding:16px 20px; border-bottom:1px solid #e6eef8; background:#fbfdff; }
.template-ui-root .project-center-page .project-panel-heading h3 { flex:1; min-width:160px; margin:0; color:var(--project-ink); font-size:16px; line-height:24px; font-weight:650; }
.template-ui-root .project-center-page [data-project-panel-hint] { order:2; flex-basis:100%; margin:0; color:#8294ac; font-size:12px; line-height:1.6; }
.template-ui-root .project-center-page .content-panel :is(th,td) { padding:13px 16px; font-size:12px; line-height:1.7; border-color:#e9eff8; }
.template-ui-root .project-center-page .content-panel th { color:#607b9e; background:#f5f8fe; font-weight:500; }
.template-ui-root .project-center-page .content-panel td { color:#436181; }
.template-ui-root .project-center-page .content-panel button.project-calc-action { min-height:30px; padding:3px 0; border:0; background:transparent; color:var(--project-blue); font-size:12px; }
.template-ui-root .project-center-page .project-standard-panel > .p-16 { padding:40px 20px; border:0; border-radius:0; font-size:13px; }
.project-edit-dialog { font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; color:#102b50; }
.project-edit-dialog :is(h2,button,input,select,textarea) { font-family:inherit; }
.project-edit-dialog h2 { font-size:18px; }
.project-edit-dialog footer button { min-height:36px; padding:7px 16px; border-radius:7px; font-size:13px; }
.project-edit-dialog .primary { background:#1762ed; border-color:#1762ed; }
.project-edit-dialog :is(input,select,textarea) { border-color:#dfe8f6; font-size:13px; }
.template-ui-root .toolbox-tool-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.template-ui-root .toolbox-tool-card { display:flex; flex-direction:column; min-width:0; padding:24px; border:1px solid #dfe8f6; border-radius:12px; background:#fff; box-shadow:0 4px 18px #24549606; color:#102b50; transition:border-color .18s,box-shadow .18s,transform .18s; }
.template-ui-root .toolbox-tool-card:hover { transform:translateY(-2px); border-color:#9bbcf0; box-shadow:0 8px 24px #2454960d; }
.template-ui-root .toolbox-tool-card:focus-visible { outline:2px solid #72a2f4; outline-offset:3px; }
.template-ui-root .toolbox-card-top { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.template-ui-root .toolbox-card-icon { display:flex; align-items:center; justify-content:center; width:48px; height:48px; border:1px solid #deebff; border-radius:10px; background:#edf4ff; color:#1762ed; }
.template-ui-root .toolbox-card-icon svg { width:25px; height:25px; }
.template-ui-root .toolbox-card-category { color:#8294ac; font-size:12px; }
.template-ui-root .toolbox-tool-card h2 { margin:0 0 9px; font-size:18px; line-height:1.5; font-weight:650; color:#102b50; }
.template-ui-root .toolbox-tool-card p { flex:1; margin:0 0 22px; color:#6580a4; font-size:13px; line-height:1.8; }
.template-ui-root .toolbox-card-bottom { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-top:16px; border-top:1px solid #e9eff8; }
.template-ui-root .toolbox-card-bottom > span { color:#8294ac; font-size:12px; }
.template-ui-root .toolbox-card-bottom strong { display:flex; align-items:center; flex-shrink:0; gap:5px; color:#1762ed; font-size:13px; font-weight:500; }
.template-ui-root .toolbox-card-bottom svg { width:17px; height:17px; }
@media(min-width:1024px) { .template-ui-root .project-center-page > .grid { grid-template-columns:208px minmax(0,1fr); } }
@media(max-width:1023px) {
 .template-ui-root .project-center-page > .grid { display:block; }
 .template-ui-root .project-center-page > .grid > div:first-child { margin-bottom:18px; }
 .template-ui-root .project-center-page .sticky { position:static; }
 .template-ui-root .project-center-page .sticky > .flex.flex-col.gap-1 { flex-direction:row; overflow-x:auto; gap:6px; padding-bottom:2px; }
 .template-ui-root .project-center-page .tab-btn { flex:0 0 auto; width:auto; min-width:138px; margin:0; }
 .template-ui-root .project-center-page .mt-stack-lg.pt-stack-lg { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:8px; padding:10px 4px 2px; }
 .template-ui-root .project-center-page .mt-stack-lg.pt-stack-lg > span { margin:0; }
 .template-ui-root .project-center-page .mt-stack-lg.pt-stack-lg button { width:auto; margin:0 0 0 auto; min-height:32px; padding:5px 10px; font-size:12px; }
}
@media(max-width:1000px) { .template-ui-root .project-list-meta { grid-template-columns:1fr 1fr; } .template-ui-root .project-list-meta > span:first-child { grid-column:1/-1; } .template-ui-root .project-list-search { grid-template-columns:minmax(0,1fr) 160px; } .template-ui-root .project-list-search-actions { grid-column:1/-1; justify-content:flex-end; } }
@media(max-width:760px) {
 .template-ui-root .project-center-page { margin:0 auto; padding:87px 16px 28px; }
 .template-ui-root .project-center-page .project-hero-row h1 { font-size:25px; }
 .template-ui-root .project-center-page .project-hero-actions { width:100%; }
 .template-ui-root .project-center-page .project-hero-actions button { flex:1; }
 .template-ui-root .project-overview-head,.template-ui-root [data-project-overview-fields] { padding:14px 16px; }
 .template-ui-root .project-overview-card :is(.gap-6,.project-info-summary) { grid-template-columns:1fr; gap:8px; }
 .template-ui-root .project-center-page .grid.grid-cols-1.md\:grid-cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 .template-ui-root .project-center-page .grid.grid-cols-1.md\:grid-cols-3 > div { min-height:110px; padding:12px; }
 .template-ui-root .project-center-page .grid.grid-cols-1.md\:grid-cols-3 p { display:none; }
 .template-ui-root .project-center-page .font-display-lg { font-size:23px; }
 .template-ui-root .project-center-page .project-panel-heading { padding:14px 16px; }
 .template-ui-root .project-list-search { display:flex; padding:14px 16px 16px; gap:14px; }
 .template-ui-root .project-list-search label:first-child { flex-basis:100%; }
 .template-ui-root .project-list-search label:nth-child(2) { flex:1; }
 .template-ui-root .project-list-search-actions { align-self:flex-end; }
 .template-ui-root .project-filter-heading,.template-ui-root .project-list-summary { padding:14px 16px; }
 .template-ui-root .project-filter-heading { padding-bottom:0; }
 .template-ui-root .project-list-item { padding:16px; }
 .template-ui-root .project-list-name { font-size:15px; }
 .template-ui-root .project-list-meta { grid-template-columns:1fr; gap:7px; }
 .template-ui-root .project-list-item-foot { align-items:flex-start; }
 .template-ui-root .project-list-summary > div { gap:4px; flex-direction:column; align-items:flex-start; }
 .template-ui-root .project-list-pagination { padding:14px 16px; }
 .template-ui-root .toolbox-tool-grid { grid-template-columns:1fr; gap:16px; }
 .template-ui-root .toolbox-tool-card { padding:20px; }
 .template-ui-root .toolbox-card-bottom { flex-wrap:wrap; }
}

/* Keep the toolbox footer at the viewport bottom on short, wide-screen pages.
   Scope to the toolbox so calculator, project and login layouts stay unchanged. */
.template-ui-root:has(> main[data-tools-simplified]) {
  display:flex;
  flex-direction:column;
}
.template-ui-root > main[data-tools-simplified] {
  flex:1 0 auto;
  width:100%;
}
.template-ui-root:has(> main[data-tools-simplified]) > .site-chrome-footer {
  flex:0 0 auto;
}
