/* Marty Work follows the navy and cobalt direction of the supplied Stitch mockup.
   The Marty wordmark is shared; the green financial product palette is not. */
:root{color:#122b45;background:#d2deeb}
.sidebar{background:#0b1c38;color:#e2e8f0}
.brand-mark{background:#2563eb;color:#fff}
.brand-name{color:#fff}
.brand-subtitle{color:#94a3b8}
.nav-label{color:#94a3b8}
.nav-link{color:#cbd5e1;transition:background .18s,color .18s}
.nav-link:hover,.nav-link:focus-visible{background:rgba(255,255,255,.07);color:#fff}
.nav-link.active{background:#2563eb;color:#fff;box-shadow:none}
.nav-link.active:hover,.nav-link.active:focus-visible{background:#1d4ed8}
.nav-icon{color:#94a3b8}
.nav-link:hover .nav-icon,.nav-link:focus-visible .nav-icon{color:#fff}
.nav-link.active .nav-icon{color:#fff}
.side-bottom{border-color:#1c3560}
.side-bottom small{color:#94a3b8}
.pulse{background:#7399ff;box-shadow:0 0 0 4px #7399ff25}
.workspace{background:#d2deeb}
.topbar{height:58px;padding:0 24px;background:#e7edf5;border-bottom-color:#b9c9da}
.demo-pill[hidden],.account-menu-wrap[hidden],.account-menu[hidden]{display:none}
.account-menu-wrap{position:relative}
.account-trigger{gap:9px;padding:5px 7px;border:0;border-radius:9px;background:transparent;text-align:left;color:#152e48;font:inherit}
.account-trigger:hover,.account-trigger[aria-expanded="true"]{background:#f0f4fb}
.account-trigger:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.account-trigger .avatar{width:30px;height:30px}
.account-trigger .account-text small{color:#485f77}
.account-chevron{width:16px;height:16px;flex:none;color:#5f7794;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.account-trigger[aria-expanded="true"] .account-chevron{transform:rotate(180deg)}
.account-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:40;min-width:195px;padding:5px;border:1px solid #dce5f2;border-radius:10px;background:#fff;box-shadow:0 14px 36px #152e4826}
.account-menu button{display:block;width:100%;padding:10px 12px;border:0;border-radius:7px;background:transparent;color:#173552;text-align:left;font-size:12px;font-weight:650}
.account-menu button:hover,.account-menu button:focus-visible{background:#edf3ff;color:#2359c9;outline:none}
.account-password-field{margin-top:14px}
@media(max-width:780px){.topbar{height:54px;padding:0 16px}.account-trigger{padding:4px}.account-trigger .account-text{display:none}}
.breadcrumbs strong{color:#152e48}
.demo-pill{background:#eef3ff;color:#3655bc;border-color:#d4dffc}
.demo-pill span{background:#496bd9}
.avatar{background:#e9eeff;color:#3b56a8}
.avatar-dark{background:#0d2948;color:#fff}
.eyebrow{color:#2354a8}
.page-head h1,.metric-value{color:#102b43}
.page-head p,.card-head .meta,.inline-note,.field-note{color:#4b627a}
.section-card,.metric{background:#edf2f8;border-color:#b6c7d9;box-shadow:0 3px 10px #203a5a12}
.card-head{background:#e1eaf3;border-bottom-color:#bfcddd}
.card-head h2,.card-head h3{color:#122b45}
.field label{color:#415b76}
.metric-label,.metric-foot{color:#4b627a}
.button:not(.primary):not(.warn){background:#f5f8fc;border-color:#aebfd2;color:#1d426c}
.button:not(.primary):not(.warn):hover{background:#e2eaf5;border-color:#7e9dbd}
.metric:before{background:#3758c5}
.metric:nth-child(2):before{background:#3187c8}
.metric:nth-child(3):before{background:#dbab54}
.metric:nth-child(4):before{background:#788ed8}
.button.primary{background:#2563eb;border-color:#2563eb;box-shadow:0 2px 7px #2563eb2e}
.button.primary:hover{background:#1d4ed8;border-color:#1d4ed8}
.bar-track{background:#e9edfa}
.bar-fill{background:#8199e7}
.bar-item.is-today .bar-fill{background:#3758c5}
.legend b{color:#3758c5}
.data-table th{background:#0b1c38;color:#eaf0fc}
.data-table td{border-top-color:#cbd6e2}
.data-table tbody tr:hover{background:#e2ebf5}
.code{color:#183b6c!important}
.status.progress{background:#eaf1fb;color:#347caf}
.status.pending{background:#fff5e8;color:#aa7133}
.status.closed{background:#e8f4ef;color:#247450}
.tag{border-color:#dce4fa;background:#eef2ff;color:#3d58aa}
.chip{background:#edf1ff;color:#485fb2}
.input,.select,.textarea{border-color:#9eb3c9;background:#f8fafc;color:#18334f}
.select,.select option{color:#0b1c38;font-weight:600}
.input:focus,.select:focus,.textarea:focus{border-color:#607de1;box-shadow:0 0 0 3px #607de124}
.hint-box{border-color:#cedcfa;background:#f1f5ff;color:#4a6197}
.ticket-item.selected{background:#e5edfb;outline:1px solid #9db7e4;outline-offset:-1px;box-shadow:inset 3px 0 #3166c9}
.ticket-item:hover{background:#f5f8ff}
.ticket-item.selected:hover{background:#e5edfb}
.ticket-item:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}
.ticket-filters{align-items:flex-end;gap:9px 10px}
.ticket-filter-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.ticket-filter-field>span{padding-left:6px;color:#607891;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.ticket-filters .ticket-filter-field .input,.ticket-filters .ticket-filter-field .select{width:100%;min-width:0;height:39px;background:#fff}
.ticket-filter-search{flex:1 1 220px;max-width:310px}
.ticket-filter-status{flex:0 1 155px;min-width:140px}
.ticket-filter-scope{flex:0 1 190px;min-width:170px}
.ticket-filter-period{flex:1 1 270px;min-width:230px;max-width:360px}
.ticket-filter-demand{flex:0 1 195px;min-width:180px}
.ticket-filter-count{padding-bottom:11px;white-space:nowrap}
.ticket-detail-card{align-self:start;background:#fff;border-color:#c9d9e9;box-shadow:0 5px 16px #203a5a12}
.ticket-detail-card .detail-pad{background:#fff}
.ticket-demand-missing{display:inline-block;margin-top:6px;padding:3px 7px;border:1px solid #f0d3a7;border-radius:5px;background:#fff7e8;color:#9a611b;font-size:10px;font-weight:750}
@media(max-width:780px){.ticket-filter-search,.ticket-filter-status,.ticket-filter-scope,.ticket-filter-period,.ticket-filter-demand{flex:1 1 100%;max-width:none}}
.catalog-card p{color:#8291a8}
.placeholder-band{background:#f1f5ff;border-color:#d9e1f9;color:#53689e}
.check-list input{accent-color:#3b5dca}
.modal-backdrop{background:#0a1b38ad}
.toast{background:#132c4f}
/* The supplied Stitch screen starts with a full-width time form and a dense grid. */
.hours-page .split-grid{display:block}
.hours-page .split-grid>.section-card:nth-child(2){display:none}
.hours-page .field-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:10px}
.hours-page .field-grid>.field:nth-child(1){grid-column:span 4}
.hours-page .field-grid>.field:nth-child(2){grid-column:span 2}
.hours-page .field-grid>.field:nth-child(3){grid-column:span 2}
.hours-page .field-grid>.field:nth-child(4){grid-column:span 2}
.hours-page .field-grid>.field:nth-child(5){grid-column:span 2}
.hours-page .field-grid>.field:nth-child(6),
.hours-page .field-grid>.field:nth-child(7),
.hours-page .field-grid>.field:nth-child(8){grid-column:span 2}
.hours-page .field-grid>.field:nth-child(9){grid-column:span 6}
.hours-page .section-card{margin-bottom:16px}
.hours-page .page-head{margin-bottom:14px}
.work-date-nav{display:flex;align-items:center;gap:7px}
.work-date-nav label{margin-right:5px;color:#607891;font-size:11px;font-weight:700;white-space:nowrap}
.work-date-nav .input{width:150px;height:38px;background:#eff6ff;border:1.5px solid #7eabf5;color:#0b1c38;font-size:14px;font-weight:700;box-shadow:0 0 0 2px #dbeafe66}
.work-date-nav .date-nav-button{width:38px;min-width:38px;height:38px;padding:0;background:#eff6ff;border:1.5px solid #7eabf5;color:#2563eb;box-shadow:0 0 0 2px #dbeafe66}
.work-date-nav .date-nav-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.work-date-nav .date-nav-button:hover{background:#dbeafe;border-color:#2563eb;color:#1d4ed8}
.work-date-nav .date-nav-button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.hours-page .field .input,.hours-page .field .select{min-height:35px;padding:8px 9px}
.hours-page .field .input,.hours-page .field .select,.hours-page .field .textarea{color:#0b1c38;font-weight:600}
.hours-page .field .input::placeholder,.hours-page .field .textarea::placeholder{color:#8292a8;font-weight:400;opacity:1}
.hours-page .field .textarea{min-height:55px}
.hours-page .data-table td{padding:9px 12px}
@media(max-width:1100px){
  .hours-page .field-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .hours-page .field-grid>.field:nth-child(1){grid-column:span 6}
  .hours-page .field-grid>.field:nth-child(2),.hours-page .field-grid>.field:nth-child(3),.hours-page .field-grid>.field:nth-child(4),.hours-page .field-grid>.field:nth-child(5){grid-column:span 3}
  .hours-page .field-grid>.field:nth-child(6),.hours-page .field-grid>.field:nth-child(7),.hours-page .field-grid>.field:nth-child(8){grid-column:span 2}
  .hours-page .field-grid>.field:nth-child(9){grid-column:span 6}
}
@media(max-width:600px){
  .hours-page .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hours-page .field-grid>.field:nth-child(n){grid-column:span 2}
  .hours-page .field-grid>.field:nth-child(5),.hours-page .field-grid>.field:nth-child(6),.hours-page .field-grid>.field:nth-child(7){grid-column:span 1}
}
[hidden]{display:none!important}
.hours-page .entry-grid>.field:nth-child(1){grid-column:span 4}
.hours-page .entry-grid>.field:nth-child(2),
.hours-page .entry-grid>.field:nth-child(3),
.hours-page .entry-grid>.field:nth-child(4),
.hours-page .entry-grid>.field:nth-child(5){grid-column:span 2}
.hours-page .entry-grid>.field:nth-child(6){grid-column:span 12}
.hours-page .entry-grid .textarea{min-height:49px}
.entry-options{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:11px}
.switch-line{display:inline-flex;align-items:center;gap:8px;color:#39516d;font-size:11px;font-weight:700;cursor:pointer}
.switch-line input{accent-color:#3959c5;width:15px;height:15px;margin:0}
.extra-panel{display:grid;grid-template-columns:repeat(2,minmax(0,200px));gap:12px;margin-top:15px;padding:15px;border:1px solid #dce4f4;background:#f7f9fe;border-radius:8px}
@media(max-width:1100px){
  .hours-page .entry-grid>.field:nth-child(1){grid-column:span 6}
  .hours-page .entry-grid>.field:nth-child(2),.hours-page .entry-grid>.field:nth-child(3),.hours-page .entry-grid>.field:nth-child(4),.hours-page .entry-grid>.field:nth-child(5){grid-column:span 3}
  .hours-page .entry-grid>.field:nth-child(6){grid-column:span 6}
}
@media(max-width:600px){
  .hours-page .entry-grid>.field:nth-child(n){grid-column:span 2}
  .extra-panel{grid-template-columns:1fr}
  .hours-page .card-head{align-items:flex-start;flex-direction:column}
  .work-date-nav{width:100%}
  .work-date-nav .input{flex:1;min-width:0}
}
.card-head-actions{display:flex;align-items:center;gap:16px}
.text-link{border:0;background:transparent;padding:0;color:#2563eb;font-size:12px;font-weight:700;cursor:pointer}
.text-link:hover,.text-link:focus-visible{text-decoration:underline;text-underline-offset:3px}
.record-filter-card{margin-bottom:16px}
.record-filter-grid{display:grid;grid-template-columns:1.3fr 1.5fr 1fr 1.2fr;gap:14px}
.team-record-filter-grid{grid-template-columns:1.1fr 1.4fr 1.4fr 1fr 1.1fr}
.team-access-card{margin-top:18px}
.team-create-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}
.team-create-form .button{justify-self:start}
.team-table th{font-size:11px}
.team-table td{padding-top:13px;padding-bottom:13px;font-size:13px;line-height:1.45}
.team-table .cell-sub{font-size:11.5px;line-height:1.4}
.team-table th:last-child,.team-table td:last-child{width:172px;text-align:right}
.team-table .status{font-size:11.5px;font-weight:600;white-space:nowrap}
.team-table .status.closed{background:#b9d8c5;color:#174f32}
.team-table .status.pending{background:#ffe0b5;color:#874b12}
.team-table .status.disabled{background:#e9c0c0;color:#852b30}
.team-user-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.team-access-button{height:34px;padding:0 12px;border:1px solid;border-radius:8px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}
.team-access-button.block{border-color:#d99b8c;background:#fff1ee;color:#a84536}
.team-access-button.block:hover{background:#ffe5de;border-color:#bf6f5d}
.team-access-button.unblock{border-color:#82bd9c;background:#e9f7ef;color:#226c43}
.team-access-button.unblock:hover{background:#d9f0e3;border-color:#55a779}
.team-menu-button{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #d9e3f1;border-radius:8px;background:#fff;color:#506986;cursor:pointer}
.team-menu-button:hover{background:#eef3ff;border-color:#a9bce3}
.team-menu-button{font-size:20px;font-weight:800;line-height:1;padding-bottom:8px}
.team-access-button:focus-visible,.team-menu-button:focus-visible,.team-action-menu button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.team-action-menu{position:fixed;z-index:1200;min-width:185px;padding:5px;background:#fff;border:1px solid #dce4f0;border-radius:10px;box-shadow:0 12px 28px #0b1c3829}
.team-action-menu button{display:block;width:100%;padding:10px 11px;text-align:left;border:0;border-radius:6px;background:transparent;color:#0b1c38;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.team-action-menu button:hover{background:#eef3ff}
.team-confirm-warning{padding:13px 14px;border:1px solid #f0d3a7;border-radius:8px;background:#fff7e8;color:#75501d;line-height:1.5}
.team-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.team-detail-grid div{display:flex;flex-direction:column;gap:4px}
.team-detail-grid small{color:#71849d;font-size:10px;font-weight:800;text-transform:uppercase}
.team-detail-grid strong{color:#0b1c38;font-size:13px}
.user-role-profile-field[hidden]{display:none}
@media(max-width:560px){.team-detail-grid{grid-template-columns:1fr}}
.report-page .card-pad>.field,.report-page form>.field{margin-bottom:18px}
.report-page #report-department-head{max-width:420px}
.report-type-select{max-width:420px}
.report-period-picker{border:1px solid #dce4f0;border-radius:10px;background:#f7f9ff;padding:8px}
.report-period-list{display:grid;grid-template-columns:1fr;gap:8px}
.report-period-option{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #e3eaf5;border-radius:8px;background:#fff;cursor:pointer}
.report-period-option input{accent-color:#2563eb}
.report-period-option strong{font-size:12px;line-height:1.4}
.report-period-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px 4px;color:#64748b;font-size:12px}
.report-period-pagination>div{display:flex;align-items:center;gap:10px}
.report-period-pagination strong{color:#153656}
.report-review,.report-history{margin-top:18px}
.report-warning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.report-warning-grid details{border:1px solid #dce4f0;border-radius:9px;padding:12px;background:#f7f9ff}
.report-warning-grid summary{cursor:pointer;font-weight:700;color:#153656}
.report-warning-grid summary b{float:right;border-radius:999px;padding:2px 7px;background:#e5ecfc;color:#2359c9}
.report-warning-grid ul{max-height:180px;overflow:auto;margin:12px 0 0;padding-left:18px;font-size:12px}
.report-warning-grid li{margin:5px 0}.report-warning-grid li small{display:block;color:#64748b}
.report-review-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px}
.report-history .data-table td{vertical-align:middle}
@media(max-width:900px){.report-warning-grid{grid-template-columns:1fr}}
@media(max-width:560px){.report-review-actions,.report-period-pagination{flex-direction:column;align-items:stretch}.report-period-pagination>div{justify-content:space-between}}

.report-selector{margin-bottom:16px;background:#e1eaf3}
.report-selector .card-pad{padding:14px 18px}
.report-selector .field{margin:0!important}
.weekly-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:16px;align-items:start}
.weekly-editor,.weekly-history-card{min-width:0;overflow:hidden}
.weekly-history-card{background:#e5edf5}
.weekly-editor .card-head,.weekly-history-card .card-head{padding:16px 20px}
.weekly-tabs{display:flex;gap:4px;padding:10px 20px 0;border-bottom:1px solid #bfcddd;background:#e1eaf3;overflow-x:auto}
.weekly-tab{border:0;background:transparent;color:#4b627a;padding:10px 15px;white-space:nowrap;font:inherit;font-size:12px;font-weight:700;cursor:pointer;border-bottom:3px solid transparent}
.weekly-tab.active{color:#1749aa;background:#d0def1;border-bottom-color:#2563eb;border-radius:7px 7px 0 0}
.weekly-body{overflow:auto;min-height:200px;max-height:52vh;padding:18px 20px}
.weekly-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.weekly-grid .span2{grid-column:span 2}
.weekly-grid .field label,.weekly-texts .field label{font-size:11px}
.weekly-grid .input,.weekly-grid .select{background:#f8fafc}
.weekly-readonly{min-height:39px;border:1px solid #aebfd2;background:#dfe8f2;border-radius:8px;padding:10px 11px;font-size:12px;font-weight:700;color:#153656}
.weekly-note{margin:0;color:#4b627a;font-size:12px;line-height:1.5}
.weekly-texts{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.weekly-texts .field:first-child{grid-column:span 2}
.weekly-texts .textarea{min-height:68px;background:#f8fafc}
.weekly-history{max-height:67vh;min-height:120px;overflow:auto;padding:8px 16px 16px}
.weekly-history-item{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:12px;border:1px solid #b8c9db;border-radius:8px;background:#f4f7fb}
.weekly-history-item>div{min-width:0;display:grid;gap:3px}
.weekly-history-item strong{font-size:12px;color:#153656}
.weekly-history-item span,.weekly-history-item small{font-size:11px;color:#4b627a;overflow-wrap:anywhere}
.weekly-history .form-error{margin:8px 0}
.weekly-footer{border-top:1px solid #bfcddd;padding:14px 23px;background:#e1eaf3}
.weekly-summary{font-size:12px;font-weight:700;color:#153656;margin-bottom:10px;line-height:1.5}
.weekly-summary small{font-size:11px;font-weight:500;color:#4b627a}
.weekly-footer .form-error{margin:0 0 10px}
.weekly-actions{display:flex;justify-content:flex-end;gap:9px}
@media(max-width:900px){.weekly-layout{grid-template-columns:1fr}.weekly-history{max-height:280px}}
@media(max-width:620px){.weekly-body{max-height:58vh}.weekly-grid,.weekly-texts{grid-template-columns:1fr}.weekly-grid .span2,.weekly-texts .field:first-child{grid-column:span 1}.weekly-actions{flex-wrap:wrap}.weekly-actions .button{flex:1}}
@media(max-width:900px){.team-create-form,.team-record-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.team-create-form,.team-record-filter-grid{grid-template-columns:1fr}}
.record-filter-grid .input,.record-filter-grid .select,.record-date-range .input,.record-more-filters .select{width:100%;min-width:0}
.record-date-range{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-top:17px;padding-top:17px;border-top:1px solid #e7edf7}
.record-date-range .field{width:190px}
.filter-validation{margin:0 0 8px;color:#b34d42;font-size:12px;font-weight:600}
.filter-toggle{display:inline-flex;align-items:center;gap:9px;margin-top:16px;padding:0;border:0;background:transparent;color:#2563eb;font-size:12px;font-weight:700;cursor:pointer}
.filter-toggle:hover>span:first-child{text-decoration:underline;text-underline-offset:3px}
.filter-toggle-icon{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border:1px solid #a9c5f5;border-radius:50%;background:#eff6ff;transition:background .18s,border-color .18s,transform .18s}
.filter-toggle-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.filter-toggle:hover .filter-toggle-icon{background:#dbeafe;border-color:#2563eb}
.filter-toggle[aria-expanded="true"] .filter-toggle-icon{transform:rotate(180deg)}
.filter-toggle:focus-visible{outline:2px solid #2563eb;outline-offset:4px;border-radius:4px}
.record-more-filters{display:flex;align-items:end;gap:22px;flex-wrap:wrap;margin-top:15px;padding-top:16px;border-top:1px solid #e7edf7}
.record-more-filters .field{width:260px}
.record-more-filters .switch-line{min-height:36px;font-size:12px}
.record-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.record-summary{position:relative;display:flex;flex-direction:column;gap:2px;min-height:78px;padding:10px 15px 8px;border:1px solid #b8a9df;border-radius:9px;background:#eee9fa;box-shadow:0 7px 18px #203a5a14}
.record-summary:nth-child(2){border-color:#88b2e8;background:#dcecff}
.record-summary:nth-child(3){border-color:#dfc58d;background:#fff3db}
.record-summary:nth-child(4){border:2px solid #8baad7;background:#fff;box-shadow:0 8px 20px #173a6a1c}
.record-summary span{color:#16304d;font-size:11px;font-weight:750}
.record-summary strong{color:#0b1c38;font-size:23px;line-height:1.05;letter-spacing:-.035em}
.record-summary strong small{font-size:12px;color:#7487a4}
.record-metric-icon{position:absolute;top:12px;right:13px;width:19px;height:19px;color:#7963b4}
.record-summary:nth-child(2) .record-metric-icon{color:#356db7}
.record-summary:nth-child(3) .record-metric-icon{color:#a77820}
.record-summary:nth-child(4) .record-metric-icon{color:#687aaf}
.record-metric-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.record-table{min-width:1100px}
.record-table td{padding:11px 12px}
.entry-actions{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.entry-icon-button{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #cbd9eb;border-radius:7px;background:#f7faff;color:#2d5eaa;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.entry-icon-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.entry-icon-button:hover{background:#e8f0ff;border-color:#9bbbea;transform:translateY(-1px)}
.entry-icon-button.delete{border-color:#f1d5c3;background:#fff9f4;color:#b45720}
.entry-icon-button.delete:hover{background:#fff0e5;border-color:#e5ae88}
.entry-icon-button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.entry-fixed-date{display:flex;align-items:center;background:#f5f7fb;color:#526581;cursor:default}
.entry-correction-extra-toggle{padding-top:2px}
.correction-extra-field[hidden]{display:none}
#record-results{scroll-margin-top:70px}
.record-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 20px;border-top:1px solid #e7edf7;color:#6c809a;font-size:12px}
.record-pagination-actions{display:flex;align-items:center;gap:12px}
.record-pagination-actions strong{color:#0b1c38;font-size:12px;white-space:nowrap}
.record-page-button{min-height:33px;padding:6px 10px;color:#2563eb;border-color:#bfd0ef;background:#f8fbff}
.record-page-button:hover:not(:disabled){background:#eff6ff;border-color:#7eabf5}
.record-page-button:disabled{opacity:.45;cursor:not-allowed}
.record-page-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.demand-preview-page .page-head{margin-bottom:18px}
.preview-demo-notice{display:flex;gap:13px;align-items:center;margin-bottom:16px;padding:11px 15px;border:1px solid #cbdaf9;border-radius:10px;background:#f3f7ff;color:#4d6495;font-size:12px;line-height:1.4}
.preview-demo-notice strong{flex:0 0 auto;color:#2852b6;font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.preview-steps{display:flex;align-items:center;gap:12px;margin-bottom:15px;color:#7a8ca5;font-size:12px;font-weight:700}
.preview-steps>span{display:flex;align-items:center;gap:8px}
.preview-steps>span:not(:last-child):after{content:"";display:block;width:33px;height:1px;margin-left:9px;background:#ccd8eb}
.preview-steps b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e8edf7;color:#667d9e;font-size:11px}
.preview-steps .complete b{background:#e5f5ed;color:#22815b}
.preview-steps .current{color:#2557d7}
.preview-steps .current b{background:#2563eb;color:white}
.preview-file-card{display:flex;align-items:center;gap:14px;padding:16px 19px;margin-bottom:15px}
.visually-hidden-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.preview-file-icon{display:grid;place-items:center;width:43px;height:43px;flex:0 0 43px;border-radius:9px;background:#e9f3ed;color:#25815b;font-size:11px;font-weight:850}
.preview-file-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.preview-file-copy strong{font-size:13px;color:#0b1c38}
.preview-file-copy span{font-size:11px;line-height:1.4;color:#71849d}
.preview-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px}
.preview-summary>div{display:flex;flex-direction:column;gap:5px;padding:15px 17px;border:1px solid #dfe7f4;border-radius:11px;background:#fff;box-shadow:0 3px 15px #102c5007}
.preview-summary span{font-size:11px;font-weight:750;color:#687e9a}
.preview-summary strong{font-size:26px;line-height:1;color:#0b1c38}
.preview-summary small{font-size:10px;color:#8b9ab0}
.preview-summary>div:nth-child(1){border-top:3px solid #2d72e8}
.preview-summary>div:nth-child(2){border-top:3px solid #d69435}
.preview-summary>div:nth-child(3){border-top:3px solid #7da88c}
.preview-summary>div:nth-child(4){border-top:3px solid #da6c5a}
.preview-workspace{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(350px,.76fr);gap:15px;align-items:start}
.preview-workspace .card-head>div{display:flex;flex-direction:column;gap:5px}
.preview-filters{display:flex;gap:6px;padding:13px 14px;overflow:auto;border-bottom:1px solid #e8edf6}
.preview-filter{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #dce5f3;border-radius:7px;background:#fff;color:#5f7390;font-size:11px;font-weight:700;white-space:nowrap}
.preview-filter span{padding:2px 6px;border-radius:12px;background:#edf2f9;font-size:10px}
.preview-filter.active{border-color:#8aacef;background:#ecf3ff;color:#2456c7}
.preview-filter.active span{background:#d9e8ff;color:#2456c7}
.preview-list{padding:5px}
.preview-row{display:grid;grid-template-columns:minmax(160px,1fr) auto minmax(160px,.68fr);align-items:center;gap:10px;width:100%;padding:12px;border:0;border-bottom:1px solid #e9eef6;border-radius:7px;background:#fff;text-align:left}
.preview-row:last-child{border-bottom:0}
.preview-row:hover{background:#f6f9ff}
.preview-row.selected{background:#edf3ff;box-shadow:inset 3px 0 #2563eb}
.preview-row-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.preview-row-main strong{font-size:12px}
.preview-row-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#68809b;font-size:10px}
.preview-kind{display:inline-flex;align-items:center;width:max-content;padding:5px 8px;border-radius:15px;font-size:10px;font-weight:800;white-space:nowrap}
.preview-kind.changed{background:#fff3e2;color:#9a651d}
.preview-kind.new{background:#eaf2ff;color:#2560bf}
.preview-kind.same{background:#e9f4ed;color:#32724e}
.preview-kind.review{background:#fff0ed;color:#ba5142}
.preview-row-status{text-align:right;color:#71849c;font-size:10px;white-space:nowrap}
.preview-row-status strong{color:#0b1c38}
.preview-row-status>span{padding:0 4px;color:#8ba1c3}
.preview-detail-body{padding:18px 19px}
.preview-detail-head{padding-bottom:15px;border-bottom:1px solid #e8eef7}
.preview-detail-head h3{margin:10px 0 5px;color:#0b1c38;font-size:19px}
.preview-detail-head p{margin:0;color:#71849d;font-size:11px;line-height:1.5}
.preview-diff-head,.preview-diff-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid #e8eef7;font-size:11px}
.preview-diff-head{color:#8799b2;text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.04em}
.preview-diff-row strong{color:#526985;font-weight:700}
.preview-diff-row span:nth-child(2){color:#8795a7}
.preview-diff-row span:nth-child(3){color:#173b70;font-weight:700}
.preview-detail-note{margin-top:15px;padding:12px;border:1px solid #d6e1f7;border-radius:8px;background:#f4f7ff;color:#4c6390;font-size:11px;line-height:1.55}
.preview-detail-note.warning{border-color:#f2d1c7;background:#fff7f3;color:#a55040}
.preview-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:15px;padding:15px 18px;border:1px solid #dce6f4;border-radius:10px;background:#fff}
.preview-bottom p{max-width:780px;margin:0;color:#6b7f9a;font-size:11px;line-height:1.5}
@media(max-width:1150px){.preview-workspace{grid-template-columns:1fr}}
@media(max-width:780px){.preview-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-steps{flex-wrap:wrap}.preview-steps>span:not(:last-child):after{width:13px}}
@media(max-width:600px){.preview-demo-notice,.preview-file-card,.preview-bottom{align-items:flex-start;flex-direction:column}.preview-file-copy{width:100%}.preview-row{grid-template-columns:minmax(0,1fr) auto}.preview-row-status{grid-column:1/-1;text-align:left}.preview-bottom .button{width:100%}}
@media(max-width:1150px){
  .record-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .record-filter-grid{grid-template-columns:1fr}
  .record-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .record-summary{padding:11px 12px}
  .record-summary strong{font-size:20px}
  .card-head-actions{flex-wrap:wrap;gap:5px 12px}
  .record-pagination{align-items:flex-start;flex-direction:column;gap:10px}
  .record-pagination-actions{width:100%;justify-content:space-between;gap:6px}
}
/* Compact review layout for the cumulative demand import. */
.demand-preview-page{padding-top:18px}
.demand-preview-page .page-head{margin-bottom:15px}
.demand-preview-page .section-card{border:1px solid #e4eaf2;box-shadow:0 7px 22px #203a5a0b}
.preview-steps{margin-bottom:11px;gap:9px}
.preview-steps>span{flex:1;min-width:0;white-space:nowrap}
.preview-steps>span:not(:last-child):after{flex:1;width:auto;min-width:15px;margin-left:10px;background:#c7d8ee}
.preview-steps>span.current:not(:last-child):after,.preview-steps>span.complete:not(:last-child):after{background:#3f82db}
.preview-steps b{width:20px;height:20px;flex:0 0 20px;font-size:10px}
.preview-file-card{padding:10px 13px;margin-bottom:12px;gap:10px}
.preview-file-icon{width:32px;height:32px;flex-basis:32px;border-radius:6px;font-size:9px}
.preview-file-copy{gap:2px}
.preview-file-copy strong{font-size:12px}
.preview-file-copy span{font-size:10px}
.preview-file-card .button{min-height:31px;padding:6px 11px;font-size:11px}
.preview-summary{gap:10px;margin-bottom:12px}
.preview-summary>div{position:relative;gap:1px;min-height:76px;padding:9px 12px 8px;border-radius:9px;box-shadow:0 6px 18px #203a5a0b}
.preview-summary span{font-size:11px;color:#16304d}
.preview-summary strong{font-size:23px}
.preview-summary small{font-size:10px;color:#53677e}
.preview-summary i{position:absolute;top:11px;right:12px;width:18px;height:18px;font-style:normal}
.preview-summary i svg{width:100%;height:100%}
.preview-summary>div.new{background:#f1f6fd;border:1px solid #cbd9eb}
.preview-summary>div.new i{color:#3978a8}
.preview-summary>div.changed{background:#fbf5e9;border:1px solid #eadbc1}
.preview-summary>div.changed i{color:#c18c2e}
.preview-summary>div.same{background:#edf6f1;border:1px solid #c9e0d4}
.preview-summary>div.same i{color:#5c9b7b}
.preview-summary>div.review{background:#fbefed;border:1px solid #ebceca}
.preview-summary>div.review i{color:#bc7066}
.preview-workspace{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:12px}
.preview-workspace .card-head{padding:11px 13px}
.preview-workspace .card-head>div{gap:3px}
.preview-workspace .card-head h2{font-size:13px}
.preview-workspace .card-head .meta{font-size:10px}
.preview-filters{gap:5px;padding:9px 10px;border-bottom-color:#edf1f6}
.preview-filter{gap:5px;padding:5px 8px;font-size:10px}
.preview-filter span{padding:1px 5px}
.preview-list{padding:3px}
.preview-row{grid-template-columns:25px minmax(145px,1fr) auto minmax(135px,.65fr);gap:8px;padding:8px 9px;border-bottom-color:#edf1f6;border-radius:5px}
.preview-row.selected{background:#e5edfb;outline:1px solid #9db7e4;outline-offset:-1px;box-shadow:inset 3px 0 #3166c9}
.preview-row:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}
.preview-row-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:5px;background:#eef2f7;color:#6b7d95}
.preview-row-icon.changed{background:#e3efff;color:#3a70b6}
.preview-row-icon.new{background:#edf3fd;color:#4877b4}
.preview-row-icon.same{background:#eaf4ee;color:#609678}
.preview-row-icon.review{background:#fff0ec;color:#b97568}
.preview-row-icon svg{width:15px;height:15px}
.preview-row-main{gap:2px}
.preview-row-main strong{font-size:12px}
.preview-row-main small{font-size:10px;color:#728297}
.preview-kind{padding:4px 8px;font-size:10px}
.preview-row-status{font-size:10px}
.preview-detail-body{padding:12px 13px}
.preview-detail-head{padding-bottom:10px}
.preview-detail-head h3{margin:7px 0 2px;font-size:17px}
.preview-detail-head p{font-size:10px}
.preview-diff-head,.preview-diff-row{gap:7px;padding:8px 0;border-bottom-color:#edf1f6;font-size:10px}
.preview-diff-head{font-size:9px}
.preview-detail-note{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:10px 11px;border-color:#d8e4f3;background:#f2f6fc;color:#425d83;font-size:11px}
.preview-detail-note::before{content:'i';display:grid;place-items:center;flex:0 0 15px;width:15px;height:15px;border:1px solid currentColor;border-radius:50%;font-size:10px;font-weight:800;line-height:1}
.preview-detail-note.warning::before{content:'!'}
.preview-bottom{margin-top:11px;padding:10px 13px;border-color:#e4eaf2;box-shadow:0 7px 22px #203a5a0b}
.preview-bottom p{font-size:10px}
.preview-bottom .button.primary:disabled{border-color:#cad6e8;background:#dbe4f1;color:#667b99;box-shadow:none;opacity:1}
.period-create-card{margin-bottom:16px}
.period-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.period-form-grid .input,.period-form-grid .select{width:100%;min-width:0}
.period-form-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:17px}
.period-form-footer .inline-note{max-width:550px}
.period-defined-card{background:#fbfdff;border-color:#c9d9e9}
.period-defined-card .card-head{background:#edf3fa;border-bottom-color:#c9d9e9}
.period-table{min-width:760px}
.period-table td{padding:12px 15px;border-top-color:#d6e1ed}
.period-table tbody tr.current td{background:#e9f5f0}
.period-table tbody tr.current:hover td{background:#dff0e8}
.period-table tbody tr.finished td{background:#f5f8fc}
.period-table tbody tr.finished:hover td{background:#eaf1f8}
.period-number{color:#183b6c}
.periods-page .button.period-edit-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:31px;border:1.5px solid #7fa9ec;border-radius:7px;background:#f8fbff;color:#1759b7;font-weight:750}
.periods-page .period-edit-button:hover:not(:disabled){border-color:#3d7cdd;background:#e4f0ff;color:#124a9c}
.periods-page .period-edit-button:disabled{opacity:1;border-color:#d4e0ee;background:#f1f5fa;color:#a5b8cf}
.period-edit-button svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.period-status{display:inline-flex;align-items:center;gap:6px;border-radius:20px;padding:5px 10px;font-size:10px;font-weight:750;white-space:nowrap}
.period-status svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.period-status .period-icon-dot{fill:currentColor;stroke:none}
.period-status.current{background:#d9f4e7;color:#187751}
.period-status.upcoming{background:#f1f6fd;color:#2d5eaa}
.period-status.finished{background:#e5ebf4;color:#536b8c}
@media(max-width:600px){.period-form-grid{grid-template-columns:1fr}.period-form-footer{align-items:stretch;flex-direction:column;gap:12px}.period-form-footer .button{width:100%}}
.catalog-intro{margin-bottom:17px;padding:11px 14px;border:1px solid #d8e4fa;border-radius:9px;background:#f3f7ff;color:#4f6899;font-size:12px;line-height:1.5}
.catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px}
.catalog-page .catalog-row{display:flex;flex-direction:column;min-width:0;min-height:175px;padding:15px;background:#fbfdff;border-color:#cbdbea;box-shadow:0 5px 16px #203a5a12}
.catalog-header{display:flex;align-items:flex-start;gap:13px;min-width:0}
.catalog-app-icon{display:grid;place-items:center;flex:none;width:52px;height:52px;border:1px solid #d0dfef;border-radius:10px;background:#f7faff;color:#41638d}
.catalog-app-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.catalog-identity,.catalog-tasks,.catalog-profiles{min-width:0}
.catalog-identity{flex:1}
.catalog-title{justify-content:flex-start;gap:7px;color:#0b1c38;font-size:16px;font-weight:800}
.catalog-count{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:20px;background:#e8eefb;color:#35549d;font-size:10px;font-weight:800}
.catalog-identity p{margin:4px 0 0;color:#7185a2;font-size:11px;line-height:1.35}
.catalog-tasks{margin:10px 0 12px;padding:0;border:0}
.catalog-tasks .chip-row{align-items:center;gap:6px}
.catalog-tasks .chip{padding:5px 8px;border:1px solid #bfd0e7;background:#d8e5f4;color:#173e70;font-size:10px}
.catalog-empty{display:block;width:100%;padding:12px;border:1px dashed #cad8e9;border-radius:7px;background:#f2f6fb;color:#607894;font-size:11px;text-align:center}
.catalog-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:11px;border-top:1px solid #dce6f1}
.catalog-profiles{display:flex;flex-direction:column;gap:5px;min-width:0;margin:0;padding:0;border:0}
.catalog-profiles span{font-size:10px;text-transform:uppercase;letter-spacing:.055em;font-weight:800;color:#7b90aa}
.catalog-profiles strong{font-size:11px;line-height:1.45;color:#334764;font-weight:650}
.catalog-add-button{flex:none;padding:6px 9px;min-height:31px;border-color:#9bb7df;color:#2456c7;background:#fff}
.catalog-add-button:hover{background:#eef4ff}
@media(max-width:900px){.catalog-list{grid-template-columns:1fr}}
@media(max-width:650px){.catalog-footer{align-items:flex-start;flex-direction:column}.catalog-add-button{align-self:stretch}}
.catalog-modal{width:min(100%,690px)}
.catalog-modal .field-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.catalog-modal .field-grid>.field{min-width:0}
.catalog-modal .field-grid>.field.span3{grid-column:span 3}
.catalog-modal .field .input,.catalog-modal .field .select,.catalog-modal .catalog-form-section>.input,.catalog-modal .catalog-form-section>.select{width:100%}
.catalog-form-section{margin-top:17px}
.catalog-form-section>strong,.catalog-form-section>label{display:block;margin-bottom:9px;color:#2d4967;font-size:12px;font-weight:750}
.catalog-form-section>.inline-note{margin:0 0 10px;line-height:1.45}
.catalog-form-section .check-list label{font-size:11px;line-height:1.35}
.dashboard-page .page-head{margin-bottom:14px}
.dashboard-period-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;margin-bottom:12px;background:linear-gradient(110deg,#102744,#183e76);border-color:#274d83;color:#fff}
.dashboard-period-card>div{display:flex;flex-direction:column;gap:5px}
.dashboard-period-kicker{font-size:10px;font-weight:800;letter-spacing:.11em;color:#a9c4ff}
.dashboard-period-card strong{font-size:16px;line-height:1.35}
.dashboard-period-card small{font-size:11px;color:#c0d1ea}
.dashboard-period-card label{display:flex;flex-direction:column;gap:6px;color:#d6e4fa;font-size:10px;font-weight:750}
.dashboard-period-card .select{min-width:285px;min-height:36px;background:#fff;color:#0b1c38;font-size:11px}
.report-selector.dashboard-period-card{justify-content:flex-start;min-height:68px;padding:12px 20px;margin-bottom:16px;background:linear-gradient(110deg,#102744,#183e76);border-color:#274d83;box-shadow:0 3px 10px #203a5a18}
.report-selector-control{display:flex;align-items:center;width:min(360px,70vw)}
.report-selector-control .select{min-width:0;width:100%;min-height:40px;background:#f8fafc;border-color:#9eb3c9;font-size:13px;font-weight:700}
.report-file-icon{width:40px;height:44px;display:grid;place-items:center;flex:none;opacity:1}
.report-file-icon svg{width:34px;height:40px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linejoin:round}
.report-file-icon text{font:bold 21px Inter,"Segoe UI",Arial,sans-serif;stroke:none;fill:currentColor}
.report-file-icon.word{color:#e1ecff}
.report-file-icon.excel{color:#d5f7e6}
.report-history-pager{display:flex;justify-content:center;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid #bfcddd;color:#294563;font-size:11px;font-weight:750}
.weekly-history-item .button:not(.primary):not(.warn){border:1.5px solid #7599c2;background:#f4f8ff;color:#17477e;text-decoration:none}
.weekly-history-item .button:not(.primary):not(.warn):hover,.weekly-history-item .button:not(.primary):not(.warn):focus-visible{border-color:#3d77bd;background:#dbeaff;color:#123f78;outline:none}
.weekly-warning-modal{width:min(96vw,620px)}
.weekly-warning-modal details{border:1px solid #b8c9db;border-radius:8px;background:#f4f7fb;margin-bottom:9px;padding:11px 13px;color:#18334f;font-size:12px}
.weekly-warning-modal summary{font-weight:750;cursor:pointer}
.weekly-warning-modal ul{max-height:145px;overflow:auto;margin:9px 0 0;padding-left:20px}
.weekly-warning-modal li{margin:5px 0}
.weekly-warning-modal details p{margin:9px 0 0}
.weekly-warning-count{display:inline-block;width:max-content;padding:3px 7px;border-radius:5px;background:#fff0d5;color:#8a5414;font-weight:750}
@media(max-width:650px){.report-selector.dashboard-period-card{align-items:center}.report-selector-control{min-width:0;width:100%}}
.dashboard-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}
.dashboard-summary{position:relative;display:flex;flex-direction:column;gap:2px;min-height:78px;padding:10px 15px 8px;border:1px solid #afc9e8;border-radius:9px;background:#e8f1fc;box-shadow:0 7px 18px #203a5a14}
.dashboard-summary-grid>.dashboard-summary:first-child{border-color:#b8a9df;background:#eee9fa}
.dashboard-summary.is-etl{border-color:#88b2e8;background:#dcecff}
.dashboard-summary.is-power-bi{border-color:#dfc58d;background:#fff3db}
.dashboard-summary.is-architect{border-color:#abd3b9;background:#e7f5eb}
.dashboard-summary.is-hours{border:2px solid #8baad7;background:#fff;box-shadow:0 8px 20px #173a6a1c}
.dashboard-summary span{font-size:11px;font-weight:750;color:#16304d}
.dashboard-summary strong{font-size:23px;letter-spacing:-.035em;color:#0b1c38;line-height:1.05}
.dashboard-summary em{font-style:normal;font-size:12px;color:#7487a4}
.dashboard-summary small{font-size:10px;color:#53677e}
.dashboard-metric-icon{position:absolute;top:12px;right:13px;width:19px;height:19px;color:#3978a8}
.dashboard-summary-grid>.dashboard-summary:first-child .dashboard-metric-icon{color:#7963b4}
.dashboard-summary.is-etl .dashboard-metric-icon{color:#356db7}
.dashboard-summary.is-power-bi .dashboard-metric-icon{color:#a77820}
.dashboard-summary.is-architect .dashboard-metric-icon{color:#5c9b7b}
.dashboard-summary.is-hours .dashboard-metric-icon{color:#687aaf}
.dashboard-metric-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ticket-closure-panel{border-top:1px solid #e5ebf4;padding-top:16px}
.ticket-closure-panel>.button{margin-bottom:9px}
.ticket-closure-panel h3{margin:0 0 10px;color:#334d71;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.ticket-status-event{padding:10px 0;border-top:1px solid #e8edf5}
.ticket-status-event strong,.ticket-status-event small{display:block}
.ticket-status-event strong{color:#173456;font-size:12px}
.ticket-status-event small{margin-top:3px;color:#70819a;font-size:10px}
.ticket-status-event p{margin:6px 0 0;color:#40546e;font-size:11px;line-height:1.45}
.ticket-close-modal .field{margin-top:16px}
.ticket-close-modal .textarea{min-height:100px;background:#fff;color:#0b1c38}
.dashboard-team-card{margin-bottom:15px}
.dashboard-team-card .card-head h2{font-size:13px}
.dashboard-team-card .card-head>div:first-child,.dashboard-ticket-card .card-head>div:first-child{display:flex;flex-direction:column;gap:4px}
.dashboard-team-card .card-head p,.dashboard-ticket-card .card-head p{margin:0;color:#8293a9;font-size:11px}
.dashboard-week-nav{display:flex;align-items:center;gap:9px;color:#334d71}
.dashboard-week-nav strong{font-size:11px;white-space:nowrap}
.dashboard-week-nav .button{min-width:29px;min-height:29px;padding:3px;font-size:20px;line-height:1;color:#315cc8}
.dashboard-team-table{min-width:897px;table-layout:fixed}
.demand-import-block{display:grid;gap:10px;margin:12px 0 18px}
.demand-import-title{margin:0;color:#16304d;font-size:14px;font-weight:750}
.demand-last-upload{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 12px;border:1px solid #abd8bf;border-radius:9px;background:#eaf7ee;color:#245f42}
.demand-last-upload>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.demand-last-upload strong{font-size:12px}
.demand-last-upload span{font-size:11px;overflow-wrap:anywhere}
.demand-last-upload .button{border-color:#a9d0b8;color:#245f42}
@media(max-width:600px){.demand-last-upload{align-items:stretch;flex-direction:column}.demand-last-upload .button{align-self:flex-start}}
.demand-preview-page .filters #demand-scope{min-width:240px}
.demand-import-block .preview-file-card{margin:0}
.demand-import-block .preview-summary{margin:0}
.demand-apply-progress{display:grid;gap:7px;padding:13px 16px;border:1px solid #bcd0ee;border-radius:10px;background:#f4f8ff;color:#1b3c68}
.demand-apply-progress-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}
.demand-apply-progress-label strong{font-weight:750}
.demand-apply-progress-label span{white-space:nowrap;font-variant-numeric:tabular-nums}
.demand-apply-progress-track{height:7px;overflow:hidden;border-radius:99px;background:#dce8fa}
.demand-apply-progress-track span{display:block;height:100%;border-radius:inherit;background:#2862e8;transition:width .25s ease}
.demand-apply-progress small{color:#617996;font-size:10px}
@media(max-width:600px){.demand-apply-progress-label{align-items:flex-start;flex-direction:column;gap:4px}}
.demand-focus-count{margin:0;color:#405a79;font-size:12px;font-weight:600}
.demand-sheet-choice{padding:17px 20px}
.demand-sheet-choice p{margin:0 0 12px;color:#405a79}
.demand-sheet-control{display:flex;gap:10px;align-items:center}
.demand-sheet-control .select{max-width:270px}
.demand-upload-history summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;color:#173552;font-size:12px;font-weight:750;cursor:pointer;list-style:none}
.demand-upload-history summary::-webkit-details-marker{display:none}
.demand-upload-history summary::before{content:'▸';color:#2862e8;font-size:14px;margin-right:2px}
.demand-upload-history[open] summary::before{content:'▾'}
.demand-upload-history summary span{margin-left:auto;color:#7187a1;font-size:10px;font-weight:500}
.demand-upload-history summary:hover{background:#f7faff}
.demand-upload-history summary:focus-visible{outline:2px solid #2862e8;outline-offset:-3px}
.demand-upload-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-top:1px solid #e9eef5}
.demand-upload-row>div{display:grid;gap:4px;min-width:0}
.demand-upload-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#173552}
.demand-upload-row small{color:#6d8198;font-size:10px}
.demand-upload-row .button{white-space:nowrap}
@media(max-width:600px){.demand-upload-row,.demand-sheet-control{align-items:stretch;flex-direction:column}.demand-sheet-control .select{max-width:none}}
.dashboard-team-table th:first-child,.dashboard-team-table td:first-child{width:170px;position:sticky;left:0;z-index:2;background:#fff;border-right:1px solid #dce5f1}
.dashboard-team-table th:nth-child(2),.dashboard-team-table td:nth-child(2){width:85px;position:sticky;left:170px;z-index:2;background:#fff;box-shadow:2px 0 5px #102c5014}
.dashboard-team-table thead th:first-child,.dashboard-team-table thead th:nth-child(2){z-index:4;background:#0b1c38}
.dashboard-team-table thead th:first-child{border-right-color:#365477}
.dashboard-team-table thead th:nth-child(2){font-size:9px;letter-spacing:.035em;text-align:center}
.dashboard-team-table th:last-child,.dashboard-team-table td:last-child{width:110px;position:sticky;right:0;z-index:2;border-left:1px solid #dce5f1;box-shadow:-2px 0 5px #102c5014}
.dashboard-team-table thead th:last-child{z-index:4;background:#0b1c38;text-align:center}
.dashboard-team-table th:nth-child(n+3):not(:last-child){width:76px;text-align:center}
.dashboard-team-table td{padding:8px 6px}
.dashboard-team-table .dashboard-person-cell{padding-left:14px}
.dashboard-team-table .person-row{gap:8px}
.dashboard-team-table .person-row .avatar{width:28px;height:28px;font-size:10px}
.dashboard-team-table .person-row strong{font-size:12px;line-height:1.25;font-weight:700}
.dashboard-status-cell{text-align:center}
.dashboard-team-table .dashboard-status-cell .dashboard-presence{padding:5px 7px;font-size:10px}
.dashboard-date-head span,.dashboard-date-head strong{display:block}
.dashboard-date-head{border-left:1px solid #ffffff2b}
.dashboard-date-head span{font-size:9px;color:#a9b9d3}
.dashboard-date-head strong{margin-top:2px;font-size:11px;color:#fff}
.dashboard-date-head.today{background:#1e4c8e}
.dashboard-date-head.weekend{background:#25364e}
.dashboard-team-table td.dashboard-day-cell{padding:3px;background:#fff;text-align:center;font-variant-numeric:tabular-nums}
.dashboard-day-box{display:grid;place-items:center;min-height:32px;border:1px solid #e2e6ed;border-radius:3px;background:#f1f3f5;color:#8995a4}
.dashboard-day-cell.registered .dashboard-day-box{border-color:#d8eee1;background:#e2f3e9;color:#276d50}
.dashboard-day-cell.registered.high-hours .dashboard-day-box{border-color:#d7e3fa;background:#dce9fc;color:#345caa}
.dashboard-day-cell.registered strong{font-size:12px}
.dashboard-day-cell.muted .dashboard-day-box{border-color:#e4e8ee;background:#e9edf2;color:#aab4c0}
.dashboard-team-table td.dashboard-period-total{white-space:nowrap;background:#f6f8fd;color:#183a66!important;font-size:12px!important;text-align:center;font-variant-numeric:tabular-nums}
.dashboard-team-table td.dashboard-period-total strong{color:#183a66;font-weight:800}
.dashboard-team-table tfoot th,.dashboard-team-table tfoot td{padding:9px 8px;border-top:2px solid #dbe5f3;background:#f3f7fd;text-align:center;color:#344f70;font-size:10px}
.dashboard-team-table tfoot th:first-child{z-index:2;background:#f3f7fd;text-align:left;padding-left:14px}
.dashboard-team-table tfoot td:nth-child(2),.dashboard-team-table tfoot td:last-child{background:#f3f7fd}
.dashboard-team-table tfoot td:last-child{text-align:center;font-size:12px;font-variant-numeric:tabular-nums}
.dashboard-team-table tfoot small{display:block;margin-top:3px;color:#8295ac;font-size:10px}
.dashboard-table-legend{display:flex;gap:18px;flex-wrap:wrap;padding:10px 17px;border-top:1px solid #e7edf7;color:#71849b;font-size:10px}
.dashboard-table-legend span{display:inline-flex;align-items:center;gap:6px}
.dashboard-table-legend i{width:11px;height:11px;border-radius:3px}
.dashboard-table-legend i.registered{background:#d8eedf}
.dashboard-table-legend i.missing{background:#f1f3f5;border:1px solid #dce2ea}
.dashboard-table-legend i.muted{background:#e9eef6}
.dashboard-day-cell.vacation .dashboard-day-box{border-color:#9bc9c8;background:#dcefed;color:#155e61;font-weight:800}
.dashboard-vacation-label{display:inline-flex;align-items:center;justify-content:center;gap:4px;max-width:100%;color:#155e61;font-size:9px;font-weight:800;white-space:nowrap}
.dashboard-vacation-label svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dashboard-table-legend i.vacation{background:#dcefed;border:1px solid #9bc9c8}
.dashboard-presence.on-vacation{background:#dcefed;color:#155e61}
.vacation-page{display:grid;gap:16px}
.vacation-page .page-head{margin-bottom:0}
.vacation-page .card-pad h3{margin:0 0 13px;color:#18334f;font-size:14px}
.vacation-page label{display:grid;gap:6px;font-size:11px;font-weight:750;color:#31516f}
.vacation-page .select,.vacation-page .input{min-height:39px}
.vacation-person-container{display:grid;gap:16px;min-width:0}
.vacation-person-head{display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:0;padding:20px 26px;border:1px solid #d5e2ef;border-radius:12px;background:#fbfdff;box-shadow:0 5px 16px #203a5a12}
.vacation-person-head h2{margin:0;color:#132f4c;font-size:17px}
.vacation-person-head p{margin:4px 0 0;color:#4b627a;font-size:11px}
.vacation-person-head label{width:min(360px,38%);flex:none;padding-left:24px;border-left:1px solid #d5e2ef}
.vacation-person-identity{display:flex;align-items:center;gap:14px;min-width:0}
.vacation-person-identity .button{display:inline-flex;align-items:center;gap:7px;margin-left:18px;white-space:nowrap}
.vacation-person-identity .button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vacation-person-avatar{display:grid;place-items:center;flex:none;width:54px;height:54px;border-radius:50%;background:#e1edfc;color:#5b8ad4}
.vacation-person-avatar svg{width:30px;height:30px;fill:currentColor;stroke:currentColor;stroke-width:1.5}
.vacation-person-content{display:grid;gap:16px;min-width:0}
.vacation-balance-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);align-items:stretch;gap:14px}
.vacation-balance-layout .section-card{min-width:0;border-color:#d5e2ef;background:#fbfdff;box-shadow:0 5px 16px #203a5a12}
.vacation-balance-layout .card-head{background:#f5f9fd;border-bottom-color:#d5e2ef}
.vacation-balance-layout .vacation-cycles{grid-template-columns:1fr}
.vacation-balance-layout .vacation-cycle.is-current{padding:16px;background:#e5f5ed}
.vacation-current-count{display:flex;align-items:baseline;gap:8px;color:#145d48!important;font-size:15px!important;font-weight:750}
.vacation-current-count b{font-size:36px;line-height:1.1}
.vacation-balance-layout .vacation-form{display:grid;align-items:stretch}
.vacation-balance-layout .vacation-form label{min-width:0}
.vacation-balance-layout .vacation-form .button.primary{width:100%}
.vacation-balance-layout .vacation-form .button:not(.primary){justify-self:end}
.vacation-person-content>.section-card{border-color:#d5e2ef;background:#fbfdff;box-shadow:0 5px 16px #203a5a12}
.vacation-history-card{border-color:#d5e2ef;background:#fbfdff}
.vacation-cycles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;padding:15px}
.vacation-cycle{display:grid;gap:5px;padding:12px;border:1px solid #b6c7d9;border-radius:8px;background:#f4f7fb}
.vacation-cycle.is-current{border:2px solid #59a483;background:#e6f4ec;box-shadow:0 2px 8px #2c7d5b17}
.vacation-cycle.is-current strong{color:#176045}
.vacation-cycle.is-used{border-color:#aeb9c5;background:#e2e7ed}
.vacation-cycle.is-used strong{color:#435366}
.vacation-cycle.is-pending{border-color:#d2b36f;background:#f8f1e4}
.vacation-cycle.is-pending strong{color:#755122}
.vacation-cycle strong{color:#153656;font-size:12px}
.vacation-cycle span,.vacation-cycle small{color:#4b627a;font-size:11px}
.vacation-hire-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.vacation-hire-form label{min-width:220px;max-width:400px;flex:1}
.vacation-hire-form .button{min-height:39px}
.vacation-hire-readonly{display:flex;align-items:center;justify-content:space-between;gap:14px}
.vacation-hire-readonly strong{font-size:14px;color:#16395b}
.vacation-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.vacation-form label{min-width:180px;flex:1}
.vacation-form .button{min-height:39px}
.vacation-date-control{display:flex;align-items:stretch;width:100%}
.vacation-date-control .input{min-width:0;flex:1;border-radius:8px 0 0 8px}
.vacation-date-control .input::-webkit-calendar-picker-indicator{display:none}
.vacation-date-control .input.is-invalid{border-color:#b94a45;box-shadow:0 0 0 2px #b94a4520}
.vacation-date-button{display:grid;place-items:center;flex:none;width:43px;min-height:39px;border:1px solid #8da8c4;border-left:0;border-radius:0 8px 8px 0;background:#e4eefb;color:#1b56a5;cursor:pointer}
.vacation-date-button:hover:not(:disabled),.vacation-date-button:focus-visible{background:#d2e3ff;color:#16478d;outline:2px solid #74a3ee;outline-offset:1px}
.vacation-date-button:disabled{cursor:not-allowed;opacity:.5}
.vacation-date-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vacation-regularization{flex-basis:100%;padding:12px 14px;border:1px solid #d5ad68;border-radius:8px;background:#fff3dc;color:#704711}
.vacation-regularization[hidden]{display:none}
.vacation-regularization strong{font-size:12px}
.vacation-regularization p{margin:5px 0 10px;font-size:11px}
.vacation-regularization label{max-width:650px}
.vacation-page .button:not(.primary):not(.warn){border:1.5px solid #7495ba;background:#f4f8fc;color:#17477e;font-weight:750}
.vacation-page .button:not(.primary):not(.warn):hover{border-color:#3d77bd;background:#dbeaff}
.vacation-page .button.primary{background:#2563eb;border-color:#1d55d5;color:#fff;box-shadow:0 3px 8px #2563eb29}
.vacation-page .button.primary:hover:not(:disabled){background:#1d55d5}
.vacation-inline-error{margin:10px 0 0;color:#a53732;font-size:12px;font-weight:700}
.vacation-filters{display:flex;gap:12px;flex-wrap:wrap;padding:14px}
.vacation-filters label{min-width:150px;flex:1}
@media(max-width:900px){.vacation-balance-layout{grid-template-columns:1fr}}
@media(max-width:760px){.vacation-person-head{align-items:stretch;flex-direction:column;padding:18px}.vacation-person-head label{width:100%;padding-left:0;border-left:0}.vacation-person-identity{flex-wrap:wrap}.vacation-person-identity .button{margin-left:0}.vacation-form label{min-width:100%}}
.dashboard-presence{display:inline-block;padding:5px 9px;border-radius:20px;font-size:10px;font-weight:750;white-space:nowrap}
.dashboard-presence.has-hours{background:#e9f5ef;color:#257353}
.dashboard-presence.no-hours{background:#fff2dc;color:#a36c26}
.dashboard-ticket-card .card-head{padding:15px 20px}
.dashboard-ticket-controls{display:flex;align-items:center;gap:10px}
.dashboard-ticket-controls label{display:flex;align-items:center;gap:7px;color:#71849d;font-size:11px;white-space:nowrap}
.dashboard-ticket-controls .select{width:auto;min-width:95px;min-height:33px;padding:6px 9px;background:#f4f7fc;font-size:11px;font-weight:700}
.dashboard-ticket-range{color:#8293a9;font-size:11px;white-space:nowrap}
.dashboard-ticket-pager{display:flex;gap:4px}
.dashboard-ticket-pager .button{min-width:31px;min-height:31px;padding:6px;color:#315cc8}
.dashboard-ticket-pager svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dashboard-ticket-bars{padding:4px 20px 6px}
.dashboard-ticket-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(100px,1.25fr) 85px;gap:18px;align-items:center;min-height:66px;padding:10px 0;border-bottom:1px solid #e5ebf4}
.dashboard-ticket-row:last-child{border-bottom:0}
.dashboard-ticket-label{display:flex;flex-direction:column;gap:4px;min-width:0}
.dashboard-ticket-label>div{display:flex;align-items:center;gap:8px;min-width:0}
.dashboard-ticket-label strong{font-size:14px;color:#0b1c38;letter-spacing:.01em}
.dashboard-ticket-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#405269;font-size:11px}
.dashboard-ticket-label .dashboard-ticket-kind{display:inline-block;padding:3px 6px;border-radius:5px;background:#e3eefc;color:#3c668d;font-size:10px;font-weight:750}
.dashboard-ticket-track{height:10px;overflow:hidden;border-radius:20px;background:#eaf0fa}
.dashboard-ticket-track>div{height:100%;border-radius:20px;background:linear-gradient(90deg,#2662dd,#78a1ec)}
.dashboard-ticket-row b{text-align:right;font-size:17px;color:#0b1c38;white-space:nowrap;font-variant-numeric:tabular-nums}
.dashboard-ticket-row b small{font-size:11px;font-weight:500;color:#7d8ba1}
@media(max-width:1050px){.dashboard-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.dashboard-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.dashboard-period-card{align-items:stretch;flex-direction:column}.dashboard-period-card .select{width:100%;min-width:0}.dashboard-ticket-card .card-head{align-items:flex-start;flex-direction:column}.dashboard-ticket-controls{width:100%;justify-content:space-between;flex-wrap:wrap}.dashboard-ticket-row{grid-template-columns:minmax(0,1fr) 75px;gap:8px 12px}.dashboard-ticket-track{grid-row:2;grid-column:1/-1}.dashboard-ticket-row b{grid-row:1;grid-column:2;font-size:15px}}
@media(max-width:650px){.dashboard-team-card .card-head{align-items:flex-start;flex-direction:column}.dashboard-week-nav{width:100%;justify-content:space-between}}
@media(max-width:420px){.dashboard-summary-grid{grid-template-columns:1fr;gap:8px}.dashboard-summary{min-height:78px;padding:10px 12px}.dashboard-metric-icon{top:10px;right:10px;width:17px;height:17px}}
@media(max-width:600px){.catalog-modal .field-grid>.field.span3{grid-column:span 6}.catalog-modal .check-list{grid-template-columns:1fr}}
@media(max-width:1150px){.preview-workspace{grid-template-columns:1fr}}
@media(max-width:700px){
  .preview-steps{flex-wrap:wrap;font-size:10px}
  .preview-steps>span{flex:0 0 auto}
  .preview-steps>span:not(:last-child):after{width:14px;flex:0 0 14px}
}
@media(max-width:600px){
  .preview-row{grid-template-columns:25px minmax(0,1fr) auto}
  .preview-row-status{grid-column:2/-1}
}
