.dashboard-tool-backdrop{position:fixed;inset:0;background:#10213699;z-index:12000;display:flex;align-items:center;justify-content:center;padding:20px}
.dashboard-tool-modal{background:var(--bs-body-bg,#fff);color:var(--bs-body-color,#18283e);width:min(900px,100%);max-height:calc(100dvh - 40px);border-radius:12px;display:flex;flex-direction:column;box-shadow:0 16px 60px #0004}
.dashboard-tool-modal>header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid #dbe2ea;flex:none}
.dashboard-tool-modal h2{font-size:1.35rem;margin:0}.dashboard-tool-modal-body{overflow:auto;padding:22px}
.dashboard-tool-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dashboard-tool-form label{display:block}.dashboard-tool-wide{grid-column:1/-1}.dashboard-tool-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.dashboard-tool-tags{display:flex;gap:12px;flex-wrap:wrap;max-height:170px;overflow:auto}.dashboard-tool-table{width:100%;border-collapse:collapse}.dashboard-tool-table th,.dashboard-tool-table td{text-align:left;padding:12px;border-bottom:1px solid #dbe2ea;vertical-align:top}.dashboard-tool-table-wrap{overflow:auto}.dashboard-tool-copy{white-space:pre-wrap;overflow-wrap:anywhere}.dashboard-tool-image{width:100%;max-height:280px;object-fit:cover;border-radius:8px;margin-bottom:12px}.dashboard-tool-toolbar{display:flex;gap:16px;flex-wrap:wrap;align-items:end;margin-bottom:20px}.dashboard-tool-toolbar>label{flex:1;min-width:180px}.dashboard-tool-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.dashboard-tool-cards .card-box{display:flex;flex-direction:column;gap:10px}.dashboard-tool-cards .btn{margin-top:auto;align-self:start}.dashboard-live-items{display:flex;flex-direction:column;gap:12px}.dashboard-live-items p{margin:5px 0;font-size:.9rem}.dashboard-live-items small{display:block;color:var(--bs-secondary-color,#63758c)}.dashboard-live-items a{overflow-wrap:anywhere}.dashboard-tool-empty{color:var(--bs-secondary-color,#63758c);padding:12px 0}.dashboard-tool-status{margin-bottom:16px}.dashboard-news-slide img{max-height:150px;width:100%;object-fit:cover;border-radius:8px}.dashboard-news-slide>a{display:block;font-weight:600;margin-top:8px}.dashboard-news-controls{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-top:10px}.dashboard-live-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-live-links a{padding:10px;background:#f1f5f9;border-radius:8px;text-decoration:none}.dashboard-tool-filter{margin-bottom:16px}
@media(max-width:650px){.dashboard-tool-form{grid-template-columns:1fr}.dashboard-tool-backdrop{padding:10px}.dashboard-tool-modal{max-height:calc(100dvh - 20px)}.dashboard-tool-table th,.dashboard-tool-table td{padding:8px}}

body:has(.dashboard-tool-backdrop) .dashboard-tool-status { display: none; }



.dashboard-news-slide p, .dashboard-live-items small { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Live cards share the same content structure and visual rhythm as the Home preview. */
.home-reference-card.type-companynews { overflow:hidden; }
.home-reference-card.type-companynews .home-card-icon,.home-reference-card.type-importantupdates .home-card-icon { color:#f16a24; }
.home-reference-card.type-schedule .home-card-icon { color:#0575d1; }
.home-reference-card.type-jobopportunities .home-card-icon { color:#008454; }
.home-live-content .home-entry-title { line-height:1.5; overflow-wrap:anywhere; }
.home-live-content.home-content-editorial .home-entry,.home-live-content.home-content-schedule .home-entry { padding:9px 0; }
.home-live-content .home-schedule-date { border-radius:5px; margin-top:7px; }
.home-reference-card.type-companynews .news-carousel { min-height:0; }
.home-reference-card.type-companynews .news-carousel-stage { height:100%; min-height:210px; }
.employee-page-eyebrow { display:block; color:#59718b; font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; font-weight:700; margin-bottom:8px; }
.employee-back-link { display:inline-block; color:#17679e; text-decoration:none; margin-bottom:22px; font-size:.875rem; }
.employee-back-link:hover { text-decoration:underline; }
.employee-content-panel { background:#fff; border:1px solid #dbe4ec; border-radius:10px; padding:22px; box-shadow:0 3px 12px #233c5610; }
.employee-panel-heading { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.employee-panel-heading h2 { font-size:1.1rem; margin:0; }
.employee-count { display:inline-grid; place-items:center; border-radius:18px; background:#e7f1fc; color:#17679e; min-width:28px; height:28px; font-size:.8rem; font-weight:700; }
.policy-review-row { display:flex; align-items:center; gap:18px; padding:20px 0; border-top:1px solid #e7edf3; text-decoration:none; color:#233c56; }
.policy-review-row:hover { background:#f8fbfe; }
.employee-document-icon { display:grid; place-items:center; color:#1680bd; background:#edf6ff; border-radius:8px; width:42px; height:48px; flex:none; }
.policy-review-copy { flex:1; min-width:0; }.policy-review-copy strong,.policy-review-copy small { display:block; }
.policy-review-copy strong { font-size:.95rem; }.policy-review-copy small { font-size:.8rem; color:#64788f; margin-top:4px; }
.policy-review-due { color:#64788f; font-size:.8rem; }
.policy-reader-page { max-width:1160px; margin:0 auto; padding-bottom:32px; }
.policy-reader-heading { display:flex; justify-content:space-between; align-items:start; gap:22px; margin-bottom:24px; }
.policy-reader-heading h1 { font-size:clamp(1.5rem,2.4vw,2.2rem); color:#223951; line-height:1.2; margin:0 0 10px; }
.policy-reader-heading p { color:#6a7e94; font-size:.85rem; margin:0; }
.employee-status { padding:7px 12px; border-radius:20px; background:#fff3df; color:#896119; font-size:.75rem; font-weight:600; white-space:nowrap; }
.employee-status-complete { background:#e4f3ea; color:#247049; }
.policy-document { background:#fff; border:1px solid #dbe4ec; border-radius:10px; padding:clamp(22px,4vw,54px); box-shadow:0 3px 16px #233c5610; overflow-wrap:anywhere; }
.policy-document .policy-document-content { font-size:1rem; line-height:1.8; max-width:850px; margin:0 auto; color:#30445a; }
.policy-document-content h1 { font-size:1.8rem; line-height:1.3; margin:0 0 24px; }.policy-document-content h2 { font-size:1.4rem; margin:26px 0 14px; }
.policy-document-content p { margin:0 0 20px; }.policy-document-content img,.policy-document-content table { max-width:100%; }
.policy-file-toolbar { margin-bottom:18px; }.policy-file-frame { width:100%; height:75vh; border:0; }
.policy-acknowledgement { background:#f0f6fc; border:1px solid #cedfeb; border-radius:10px; padding:24px; margin-top:24px; }
.policy-acknowledgement h2 { font-size:1.15rem; margin:0 0 8px; }.policy-acknowledgement p { font-size:.9rem; color:#546e89; }
.policy-confirm { display:flex; gap:12px; align-items:center; padding:14px 0; }.policy-confirm input { width:20px; height:20px; accent-color:#087bbd; flex:none; }
.policy-reader-actions { display:flex; gap:12px; justify-content:flex-end; flex-wrap:wrap; margin-top:16px; }
.dashboard-tool-cards article { scroll-margin-top:110px; }.dashboard-tool-cards article:target { outline:2px solid #78acd1; outline-offset:4px; }
.my-calendar-page .dashboard-tool-toolbar { padding:20px; border:1px solid #dbe4ec; border-radius:10px; background:#f5f9fd; }
.my-calendar-page .dashboard-tool-toolbar label { font-size:.8rem; font-weight:600; color:#54708b; }
.my-calendar-page .dashboard-tool-toolbar .form-select { margin-top:6px; font-weight:400; }
.my-calendar-page .my-calendar-card { border-radius:10px; border:1px solid #dbe4ec; padding:18px; box-shadow:0 3px 12px #233c5610; }
@media(max-width:650px){.policy-reader-heading{flex-direction:column}.policy-review-row{gap:10px;flex-wrap:wrap}.policy-review-copy{flex-basis:calc(100% - 55px)}.policy-review-due{margin-left:52px;flex:1}.policy-reader-actions>*{flex:1;text-align:center}.employee-content-panel{padding:16px}.policy-document{padding:22px 18px}.policy-acknowledgement{padding:20px}}

/* Employee record pages use the same spacing and surfaces as the profile overview. */
.employee-record-toolbar{display:flex;align-items:flex-end;gap:1.25rem;flex-wrap:wrap;padding:1.5rem 0}.employee-record-toolbar label{min-width:220px;font-size:.85rem;font-weight:600}.employee-record-toolbar h2{flex:1;margin:0;font-size:1.35rem}.employee-details-list{display:grid;grid-template-columns:minmax(130px,1fr) 2fr;gap:.8rem 2rem;margin:0}.employee-details-list dt{color:#617087;font-weight:500}.employee-details-list dd{margin:0;overflow-wrap:anywhere}.employee-record-details-page .employee-record-card{padding:1.5rem}.employee-archive-toggle{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;color:#617087}.employee-row-actions{display:flex;gap:.5rem;flex-wrap:wrap}.employee-record-details-page .dashboard-tool-table{width:100%}.employee-record-details-page .dashboard-tool-table td{vertical-align:top}.employee-save-bar{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem;margin-top:1rem;background:#fff;border-radius:14px;border:1px solid #e5eaf1}.employee-profile-edit .company-employment-card:disabled{opacity:.8}.employee-record-details-page .employee-record-header{margin-top:1rem}.employee-record-details-page .record-activity{padding:.85rem 0}.employee-record-details-page .dashboard-tool-grid label{display:grid;gap:.4rem;align-content:start}.employee-record-details-page textarea{min-height:100px}
@media(max-width:650px){.employee-record-toolbar{align-items:stretch;gap:.75rem}.employee-record-toolbar h2{flex-basis:100%}.employee-record-toolbar label{flex:1}.employee-details-list{grid-template-columns:1fr;gap:.25rem}.employee-details-list dd{margin-bottom:.75rem}.employee-save-bar{padding:.85rem}.employee-record-details-page .employee-record-motto{display:none}}
