.company-top { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px max(24px,calc((100vw - 1280px)/2)); background:var(--surface); border-bottom:1px solid var(--line); }
.company-shell { max-width:1280px; width:calc(100% - 48px); margin:46px auto 64px; }
.company-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; }
.company-heading h1 { font-size:clamp(36px,4.5vw,60px); line-height:1.08; margin:10px 0 16px; overflow-wrap:anywhere; }
.company-lead { color:var(--muted); margin:0; }
.workspace-tag,.status-pill { display:inline-flex; padding:8px 12px; background:var(--wash); border:1px solid var(--line); border-radius:30px; font-size:12px; line-height:1.4; }
.workspace-tag { white-space:nowrap; }
.company-login { max-width:510px; margin:36px auto; padding:32px; }
.company-login form, #profile-fields { display:grid; gap:20px; }
.company-login form { margin-top:24px; }
.company-confirm { width:min(450px, calc(100% - 32px)); max-height:calc(100% - 32px); padding:24px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); }
.company-confirm::backdrop { background:#102e2680; }
.company-confirm h2 { margin:0; font-size:32px; }
.company-confirm .actions { margin-top:20px; justify-content:flex-end; }
.company-shell label { display:grid; gap:8px; font-weight:600; font-size:14px; }
.company-shell input,.company-shell textarea { width:100%; background:#fffefa; border:1px solid #a6b0a0; border-radius:5px; padding:12px; color:var(--ink); font-weight:400; min-height:46px; }
.company-shell textarea { resize:vertical; }
.company-shell input[readonly] { background:var(--paper); color:var(--muted); }
.company-dashboard-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:24px; align-items:start; }
.company-dashboard-content { min-width:0; }
.company-nav { position:sticky; top:24px; display:grid; gap:5px; padding:12px; border-radius:12px; background:var(--deep); color:#f7faf7; }
.company-nav a { display:flex; align-items:center; min-height:44px; padding:8px 12px; border-radius:6px; font-size:15px; font-weight:600; text-decoration:none; }
.company-nav a:hover { background:#ffffff18; }
.company-nav a[aria-current="location"] { background:#e9f1e8; color:var(--deep); }
.company-nav a:focus-visible { outline:2px solid #e0b35b; outline-offset:2px; }
.workspace-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; align-items:start; gap:26px; }
.workspace-layout .surface { padding:28px; margin:0; }
.workspace-layout h2,.company-login h2 { font-size:32px; margin:0 0 16px; line-height:1.1; }
.workspace-layout h3 { font-size:28px; margin:0 0 12px; }
.section-head { display:flex; gap:16px; align-items:flex-start; justify-content:space-between; }
.section-head .status-pill { flex-shrink:0; max-width:150px; }
#profile-fields { padding:0; margin:26px 0; border:0; min-width:0; }
.form-section { display:grid; gap:20px; scroll-margin-top:24px; }
.form-section + .form-section { border-top:1px solid var(--line); padding-top:28px; margin-top:8px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.company-shell .help { font-size:13px; line-height:1.65; color:var(--muted); }
.form-section .help { margin:-10px 0 0; }
.form-section .eyebrow { margin:0; }
.save-row { border-top:1px solid var(--line); padding-top:20px; }
.save-row .actions { flex-wrap:wrap; }
.workspace-aside { display:grid; gap:22px; }
.attendance-status { padding:13px; border-radius:5px; background:#eeeae0; font-size:14px; font-weight:600; }
.attendance-status[data-online=true] { color:#1c4e2e; background:#e6efde; }
#attendance-toggle { width:100%; min-height:48px; }
.company-label { overflow-wrap:anywhere; font-weight:600; }
.company-note { padding:12px 22px; }
.company-note h3 { font-size:24px; }
.company-footer { text-align:center; border-top:1px solid var(--line); padding:24px; font-size:12px; color:var(--muted); }
details { border-top:1px solid var(--line); margin-top:16px; padding-top:16px; }
summary { cursor:pointer; font-size:14px; min-height:40px; }
dl { font-size:13px; overflow-wrap:anywhere; }
dt { font-weight:600; margin-top:14px; }
dd { margin:4px 0 0; white-space:pre-line; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:1000px) { .workspace-layout { grid-template-columns:minmax(0,1fr) 300px; gap:18px; } .workspace-layout .surface { padding:22px; } .form-grid { grid-template-columns:1fr; } }
@media(max-width:760px) { .company-shell { width:calc(100% - 32px); margin-top:28px; } .company-top { padding:14px 16px; } .company-top .brand { font-size:22px; } .company-heading { display:block; } .workspace-tag { margin-top:18px; } .workspace-layout { grid-template-columns:1fr; } .company-nav { gap:8px 18px; } .section-head { flex-wrap:wrap; } .section-head .status-pill { max-width:none; } .company-login { padding:24px; } .save-row .actions button { flex:1; } }

.publication-hub { padding:0; margin-bottom:28px; scroll-margin-top:24px; border:0; background:none; box-shadow:none; }
.publication-intro {
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px;
  padding:clamp(22px,3vw,40px); border-radius:12px;
  background:radial-gradient(ellipse at right top,#1e6b56,transparent 72%),var(--deep);
  color:#f7faf7;
}
.publication-intro .eyebrow { color:#f1ca7b; margin:0 0 8px; }
.publication-intro h2 { color:inherit; font-size:clamp(32px,4vw,48px); line-height:1.04; margin:0; }
.publication-intro p:last-child { color:#e4eee7; margin:12px 0 0; }
.publication-overview {
  min-height:44px; padding:10px 14px; border:1px solid #f1ca7b; border-radius:6px;
  display:inline-flex; align-items:center; gap:12px; color:#ffedc6; font-weight:600; text-decoration:none;
}
.publication-overview:hover { background:#ffffff18; }
.publication-overview:focus-visible { outline:2px solid #f1ca7b; outline-offset:3px; }
.publication-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:16px; }
.publication-card {
  display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:22px;
  border:1px solid var(--card-border); border-radius:10px; background:var(--card-bg);
  color:var(--card-ink);
}
.publication-card--market { --card-bg:#e9f1e8; --card-border:#b9cdbf; --card-ink:#123f35; }
.publication-card--jobs { --card-bg:#f6e8c9; --card-border:#ddc697; --card-ink:#634619; }
.publication-card--services { --card-bg:#f4e7de; --card-border:#ddc3b3; --card-ink:#7f3828; }
.publication-icon {
  display:grid; place-items:center; width:46px; height:46px; border-radius:8px;
  background:#ffffffad; border:1px solid var(--card-border);
}
.publication-icon svg { width:23px; height:23px; }
.publication-card h3 { color:inherit; font-size:29px; margin:14px 0 8px; line-height:1.05; }
.publication-card > p { font-size:15px; line-height:1.45; color:inherit; margin:0 0 14px; }
.publication-card .help { font-size:13px; color:inherit; }
.publication-action {
  display:flex; justify-content:space-between; gap:10px; align-items:center; width:100%; min-height:44px;
  padding:8px 11px; border:1px solid var(--card-ink); border-radius:6px; color:var(--card-ink);
  font-size:14px; font-weight:600; margin-top:auto; text-decoration:none;
}
.publication-action[href]:hover { color:#fff; background:var(--card-ink); }
.publication-action:not([href]) { border-color:var(--card-border); cursor:default; }
@media(prefers-reduced-motion:no-preference) {
  .publication-card { animation:publication-enter .36s ease-out both; transition:transform .2s ease,box-shadow .2s ease; }
  .publication-card:nth-child(2) { animation-delay:.055s; }
  .publication-card:nth-child(3) { animation-delay:.11s; }
  .publication-card:focus-within { box-shadow:0 7px 18px #102e2620; }
  .publication-action span { transition:transform .2s ease; }
  .publication-action:is(:hover,:focus-visible)[href] span { transform:translate(2px,-2px); }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .publication-card:hover { transform:translateY(-3px); box-shadow:0 8px 20px #102e261b; }
}
@keyframes publication-enter { from { opacity:0; translate:0 8px; } to { opacity:1; translate:0 0; } }
@media(max-width:1080px) { .workspace-layout { grid-template-columns:1fr; } }
@media(max-width:900px) {
  .company-dashboard-layout { grid-template-columns:1fr; gap:16px; }
  .company-nav { position:static; display:flex; flex-wrap:wrap; gap:5px; }
}
@media(max-width:660px) {
  .publication-grid { grid-template-columns:1fr; }
  .publication-card { padding:20px; }
  .company-nav a { padding-inline:9px; font-size:14px; }
}

.company-inbox { margin-bottom:28px; padding:28px; }
.inbox-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:24px; }
#inbox-list { display:grid; gap:8px; align-content:start; }
#inbox-list button { text-align:left; overflow-wrap:anywhere; }
#inbox-list button[aria-current=true] { background:var(--wash); border-color:var(--forest); }
.native-chat-messages { display:grid; gap:12px; max-height:380px; overflow:auto; background:var(--paper); padding:16px; margin-bottom:20px; }
.native-chat-message { background:white; padding:12px; border:1px solid var(--line); border-radius:8px; overflow-wrap:anywhere; }
.native-chat-message[data-sender=company] { background:var(--wash); margin-left:24px; }
.native-chat-message p { white-space:pre-wrap; margin:4px 0 0; }
.native-chat-message small { color:var(--muted); }
#inbox-reply { display:grid; gap:12px; }
@media(max-width:760px) { .inbox-layout { grid-template-columns:1fr; } .company-inbox { padding:20px; } }
.company-dashboard {
  --forest: #123f35;
  --deep: #102e26;
  --gold: #90651f;
  --ink: #243e33;
  --muted: #506158;
  --paper: #faf8f2;
  --surface: #fff;
  --line: #c8d4c9;
  --wash: #e9f1e8;
  background: var(--paper);
  color: var(--ink);
}
