:root{--blue:#3765b3;--dark:#164397;--red:#ed1c24;--green:#17672d;--bg:#e9e7e8;--line:#d4d4d4;--text:#172235}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Helvetica,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.office-shell{min-height:100vh}.office-rail{position:fixed;z-index:30;inset:0 auto 0 0;width:90px;background:#fff;border-right:1px solid #d9dde3}.rail-home{height:64px;display:grid;place-items:center;border-bottom:1px solid #eef0f3;color:#18365f}.rail-home .ui-icon{width:27px;height:27px}.office-rail nav{display:flex;flex-direction:column}.office-rail nav a{position:relative;min-height:76px;display:grid;place-items:center;padding:10px 4px;color:#25374e;text-align:center}.office-rail nav .rail-icon{width:24px;height:24px;display:block;margin-bottom:6px}.rail-icon .ui-icon{display:block;width:100%;height:100%}.office-rail nav small{font-size:11px}.office-rail nav a:hover,.office-rail nav a.active{color:var(--dark);background:#eef0f3}.office-rail nav a.active:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--blue)}
.office-topbar{position:fixed;z-index:25;inset:0 0 auto 90px;height:54px;display:flex;align-items:center;padding:0 22px 0 28px;color:#fff;background:var(--blue)}.office-brand{min-width:315px;display:flex;align-items:center;gap:10px}.hamburger{font-size:25px}.compass{width:38px;height:38px;display:grid;place-items:center;border:1.5px solid #fff;border-radius:50%;font-size:24px}.office-brand strong,.office-brand small{display:block}.office-brand strong{font-size:18px}.office-brand strong em{color:#fff;font-style:normal}.office-brand small{font-size:10px}.global-search{width:min(360px,30vw);height:40px;display:flex;align-items:center;gap:8px;margin:auto;padding:0 14px;border-radius:22px;color:#8797b4;background:#fff}.global-search input{width:100%;border:0;outline:0;background:transparent;font-size:13px}.top-tools{display:flex;align-items:center}.top-tools button{position:relative;height:36px;min-width:36px;border:0;color:#fff;background:transparent;font-size:19px}.top-tools i{position:absolute;top:2px;right:1px;width:15px;height:15px;display:grid;place-items:center;border-radius:50%;background:var(--red);font-size:9px;font-style:normal}.top-tools .user-menu{min-width:195px;display:flex;align-items:center;justify-content:flex-end;gap:18px;padding-left:20px;border-left:1px solid #ffffff35;text-align:right}.user-menu b,.user-menu small{display:block}.user-menu b{font-size:13px}.user-menu small{font-size:10px}
.office-workspace{margin-left:90px;padding:94px 36px 42px}.flash-success,.flash-error{margin-bottom:12px;padding:11px 14px;border:1px solid;font-size:12px}.flash-success{color:#17664b;background:#effaf5;border-color:#b9e4d2}.flash-error{color:#8d2020;background:#fff0f0;border-color:#f0bcbc}.flash-error ul{margin:6px 0 0;padding-left:20px}
.calendar-toolbar{background:#fff;border:1px solid #dedede}.calendar-tabs{height:42px;display:flex;align-items:flex-end;justify-content:center;gap:8px;padding:0 12px;border-bottom:1px solid #d4d4d4}.calendar-tabs button{height:31px;padding:0 11px;border:0;background:transparent;font-size:15px;font-weight:800}.calendar-tabs button.active,.calendar-tabs button:first-child{color:#fff;background:#2d78c9}.toolbar-row{min-height:50px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 12px}.quick-actions{display:flex;gap:6px}.quick-actions a,.quick-actions button{height:24px;display:inline-grid;place-items:center;padding:0 8px;border:0;border-radius:4px;color:#fff;background:#1768be;font-size:11px;font-weight:700}.quick-actions .excel{width:24px;padding:0;color:#08a966;background:#fff;border:2px solid #08a966}.week-title{display:flex;align-items:center;gap:8px}.week-title>a{width:25px;height:25px;display:grid;place-items:center;border:2px solid #124bff;border-radius:50%;color:#124bff;font-size:21px}.week-title strong{font-size:16px}.table-filters{display:flex;justify-content:flex-end;gap:10px}.table-filters select{height:30px;padding:0 25px 0 9px;border:1px solid #c8c8c8;font-size:11px}.table-filters label{height:30px;display:flex;border:1px solid #c8c8c8}.table-filters input{width:190px;padding:0 8px;border:0;outline:0;font-size:11px}.table-filters label span{display:grid;place-items:center;padding:0 8px}
.calendar-modes{height:38px;display:flex;margin:14px 0}.calendar-modes button{position:relative;width:205px;border:0;background:#b9b9bb;font-size:14px;font-weight:800}.calendar-modes button:not(:last-child):after{content:"";position:absolute;z-index:2;top:0;right:-23px;border-top:19px solid transparent;border-bottom:19px solid transparent;border-left:23px solid #b9b9bb}.calendar-modes button:not(:first-child){margin-left:24px}.calendar-modes button:not(:first-child):before{content:"";position:absolute;z-index:3;top:3px;left:-19px;border-top:16px solid transparent;border-bottom:16px solid transparent;border-left:19px solid var(--bg)}.calendar-modes button.active{z-index:4;color:#fff;background:var(--green);border-radius:10px 0 0 10px}.calendar-modes button.active:after{border-left-color:var(--green)}
.summary-strip{display:flex;margin-bottom:10px;background:#fff;border:1px solid #d7d7d7}.summary-strip span{flex:1;padding:9px 13px;border-right:1px solid #e2e2e2;color:#5d6673;font-size:11px}.summary-strip span:last-child{border:0}.summary-strip b{margin-right:4px;color:var(--dark);font-size:15px}.summary-strip .warn b{color:var(--red)}
.week-board{background:#fff;border:1px solid var(--line)}.day-section>header{height:31px;display:flex;align-items:center;gap:6px;padding:0 14px;background:#d8e7f8;border-top:3px solid var(--bg);font-size:11px}.day-section:first-child>header{border-top:0}.day-section>header em{color:var(--red);font-style:normal;font-weight:800}.day-section>header span{min-width:22px;height:20px;display:grid;place-items:center;margin-left:auto;color:#fff;background:#f04b23}.day-section.today>header{background:#fffcc1}.day-table-wrap{overflow-x:auto}.day-section table{width:100%;min-width:1120px;border-collapse:collapse;table-layout:fixed}.day-section th,.day-section td{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.day-section th:last-child,.day-section td:last-child{border-right:0}.day-section th{height:38px;padding:0 8px;background:#eeeaea;text-align:center;font-size:11px}.day-section th:nth-child(1){width:11%}.day-section th:nth-child(2){width:31%}.day-section th:nth-child(3){width:8%}.day-section th:nth-child(4){width:17%}.day-section th:nth-child(5){width:13%}.day-section th:nth-child(6){width:10%}.day-section th:nth-child(7){width:10%}.day-section td{height:62px;padding:8px 10px;vertical-align:middle;font-size:11px}.day-section td:first-child{text-align:center}.day-section tbody tr:hover{background:#f6f9ff;box-shadow:inset 3px 0 #2e72c4}.departure{display:block;color:#0751a9;font-size:12px}.day-section td small{display:block;margin-top:4px;color:#556170;font-size:9.5px}.work-location{display:block;margin-bottom:5px;text-transform:uppercase}.work-content{display:flex;align-items:center;gap:7px}.source-tags{display:flex;gap:3px}.source-tag{padding:3px 6px;color:#fff;background:#2879cf;font-size:8px;font-weight:800}.day-progress{display:flex;justify-content:center;gap:3px}.day-progress span{position:relative;width:25px;height:20px;overflow:hidden;border:1px solid #b9c3d0;background:#f2f3f5}.day-progress i{position:absolute;inset:0 auto 0 0;background:#2f72c4}.day-progress b{position:relative;z-index:1;height:100%;display:grid;place-items:center;font-size:8px}.report-status{display:inline-flex;padding:4px 7px;color:#fff;font-size:8.5px;font-weight:800}.report-status.reported{background:#16955f}.report-status.updating{background:#8e2bb7}.report-status.not_reported{background:#e34828}.row-actions{white-space:nowrap;text-align:center}.row-actions>a,.row-actions button{display:inline;padding:0 3px;border:0;color:#1557a4;background:transparent;font-size:9px;text-decoration:underline}.row-actions form{display:inline}.row-actions button{color:#b72424}.empty-state{padding:50px;text-align:center}
.page-card{max-width:1100px;margin:0 auto;background:#fff;border:1px solid #d8dce2;box-shadow:0 8px 25px #20324c12}.page-card-head{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:3px solid var(--blue)}.page-card-head>a,.page-card-head div>a{color:var(--dark);font-size:11px}.page-card h1{margin:8px 0 4px;font-size:var(--page-title-size)}.page-card-head p{margin:0;color:#77818c;font-size:11px}.schedule-form{padding:22px 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:block}.form-grid label.wide{grid-column:1/-1}.form-grid label>span{display:block;margin-bottom:5px;color:#596471;font-size:10px;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:9px 10px;border:1px solid #ced5de;outline:0;background:#fff;font-size:12px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#5d83bd;box-shadow:0 0 0 3px #3765b315}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.form-actions a,.form-actions button,.edit-button{height:35px;display:inline-grid;place-items:center;padding:0 15px;border:1px solid #cad3df;background:#fff;color:var(--dark);font-size:11px;font-weight:700}.form-actions button,.edit-button{color:#fff;background:var(--dark);border-color:var(--dark)}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:22px 24px}.detail-grid div{padding:13px;border:1px solid #dfe3e8;background:#f8f9fb}.detail-grid span,.detail-grid strong,.detail-grid small{display:block}.detail-grid span{color:#7c8793;font-size:9px;text-transform:uppercase}.detail-grid strong{margin-top:6px;font-size:12px}.detail-grid small{margin-top:4px;color:#6f7984;font-size:10px}.report-detail{margin:0 24px 24px;padding:16px;background:#eef3fa}.report-detail h2{margin:0 0 12px;font-size:15px}.report-detail article{padding:10px;background:#fff;border:1px solid #dce3ed}.report-detail article span{float:right}.report-detail p{margin:7px 0 0;color:#687381;font-size:11px}
@media(max-width:1050px){.global-search{display:none}.office-brand{min-width:0;margin-right:auto}.office-workspace{padding:80px 18px 30px}.toolbar-row{grid-template-columns:1fr auto}.week-title{grid-row:1;grid-column:1/-1;justify-self:center;margin:8px}.quick-actions,.table-filters{grid-row:2}.calendar-tabs{justify-content:flex-start;overflow-x:auto}}
@media(max-width:720px){.office-rail{display:none}.office-topbar{left:0;padding:0 12px}.compass{display:none}.top-tools>button:not(.user-menu){display:none}.user-menu span{display:none}.top-tools .user-menu{min-width:30px;border:0}.office-workspace{margin-left:0;padding:68px 9px 20px}.calendar-tabs{height:auto;flex-wrap:wrap;padding:7px}.calendar-tabs button{height:27px;font-size:11px}.toolbar-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:8px}.week-title{order:-1;width:100%;justify-content:center;margin:0}.table-filters input{width:130px}.calendar-modes button{width:auto;min-width:105px;font-size:10px}.summary-strip{overflow-x:auto}.summary-strip span{min-width:115px}.form-grid,.detail-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.page-card-head{padding:16px}.schedule-form{padding:16px}}

/* ===== Palive-inspired weekly schedule ===== */
:root{--pa-blue-900:#0b2f73;--pa-blue-700:#1a4ea6;--pa-blue-600:#1e5cc2;--pa-blue-100:#e8f0ff;--pa-sky:#f5f8fd;--pa-ink:#102a43;--pa-muted:#6b7a90;--pa-border:#e6eaf3;--pa-shadow:0 8px 24px rgba(16,42,67,.07)}
html,body{font-family:Inter,"Segoe UI",Arial,sans-serif;background:#f3f6fb;color:var(--pa-ink);-webkit-font-smoothing:antialiased}.office-workspace{width:auto;max-width:none;margin-left:90px;padding:82px 28px 42px}.office-topbar{box-shadow:0 1px 12px rgba(20,59,119,.13)}
.calendar-toolbar-soft{overflow:hidden;border:1px solid var(--pa-border);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:var(--pa-shadow)}.calendar-heading{display:flex;align-items:center;justify-content:space-between;padding:19px 22px 15px}.calendar-heading .eyebrow{color:var(--pa-blue-600);font-size:10px;font-weight:800;letter-spacing:.13em}.calendar-heading h1{margin:4px 0 3px;color:var(--pa-ink);font-size:var(--page-title-size);line-height:1.25}.calendar-heading p{margin:0;color:var(--pa-muted);font-size:11.5px}.heading-actions{display:flex;gap:8px}.heading-actions a{height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:8px;font-size:11.5px;font-weight:650}.soft-button{border:1px solid #dbe4f1;color:var(--pa-blue-700);background:#f7f9fc}.soft-button:hover{background:var(--pa-blue-100)}.primary-button{border:1px solid var(--pa-blue-600);color:#fff;background:var(--pa-blue-600);box-shadow:0 4px 12px rgba(30,92,194,.18)}.primary-button:hover{background:var(--pa-blue-700)}
.toolbar-row-soft{min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-top:1px solid #edf0f5;background:#fbfcfe}.toolbar-row-soft .week-title{margin-left:4px}.toolbar-row-soft .week-title>a{width:29px;height:29px;border:1px solid #dce5f2;color:var(--pa-blue-700);background:#fff;font-size:21px}.toolbar-row-soft .week-title>a:hover{border-color:#a9c2ea;background:var(--pa-blue-100)}.toolbar-row-soft .week-title strong{color:var(--pa-ink);font-size:14px}.toolbar-row-soft .week-title strong span{margin-left:5px;color:var(--pa-muted);font-size:11.5px;font-weight:500}.table-filters-soft{gap:8px}.table-filters-soft select,.table-filters-soft label{height:34px;border:1px solid #dfe6f0;border-radius:8px;background:#fff}.table-filters-soft select{min-width:130px;padding:0 30px 0 11px;color:#4e6077;font-size:11px}.table-filters-soft label{align-items:center;flex-direction:row-reverse}.table-filters-soft label>span{color:#8190a5}.table-filters-soft input{width:210px;font-size:11px}
.summary-strip-soft{gap:8px;margin:12px 0;border:0;background:transparent}.summary-strip-soft span{display:flex;align-items:center;gap:5px;padding:8px 13px;border:1px solid var(--pa-border)!important;border-radius:10px;color:var(--pa-muted);background:#fff;box-shadow:0 3px 12px rgba(16,42,67,.03)}.summary-strip-soft b{margin:0;color:var(--pa-ink);font-size:13px}.summary-dot{width:7px;height:7px;border-radius:50%}.summary-dot.blue{background:#2a6ed6}.summary-dot.green{background:#20a46b}.summary-dot.violet{background:#8d67d8}.summary-dot.orange{background:#f39b38}
.week-board-soft{overflow:visible;border:1px solid var(--pa-border);border-radius:14px;background:#fff;box-shadow:var(--pa-shadow)}.board-column-head,.schedule-row-soft{display:grid;grid-template-columns:88px minmax(330px,2.4fr) 90px minmax(150px,1fr) 150px 120px 42px;align-items:center}.board-column-head{position:sticky;z-index:8;top:54px;min-height:39px;padding:0 15px;border-bottom:1px solid var(--pa-border);border-radius:14px 14px 0 0;color:#74839a;background:rgba(248,250,253,.96);backdrop-filter:blur(8px);font-size:9.5px;font-weight:700;letter-spacing:.035em;text-transform:uppercase}.board-column-head span{padding:0 10px}.day-section-soft{position:relative}.day-section-soft+.day-section-soft{border-top:1px solid #edf0f5}.day-heading-soft{min-height:49px;display:flex;align-items:center;padding:7px 20px;border-bottom:1px solid #eef1f5;background:linear-gradient(90deg,#f6f9fe 0%,#fff 72%)}.day-section-soft.today .day-heading-soft{background:linear-gradient(90deg,#fff9db 0%,#fff 72%)}.day-date{width:43px;height:36px;display:grid;grid-template-columns:1fr;place-content:center;border:1px solid #dfe8f5;border-radius:9px;color:var(--pa-blue-700);background:#fff;text-align:center;box-shadow:0 2px 8px rgba(16,42,67,.04)}.day-date b{font-size:15px;line-height:14px}.day-date small{margin-top:2px;color:#8a98aa;font-size:6.8px;font-weight:700}.day-name{display:flex;flex-direction:column;margin-left:10px}.day-name strong{font-size:12.5px}.day-name small{margin-top:3px;color:var(--pa-muted);font-size:9px}.day-section-soft.today .day-name small{color:#c47707;font-weight:700}.day-count{margin-left:auto;padding:5px 9px;border-radius:12px;color:#607088;background:#edf3fb;font-size:9px;font-weight:650}.day-rows-soft{position:relative;padding-left:10px}.day-rows-soft:before{content:"";position:absolute;top:0;bottom:0;left:41px;width:1px;background:#e5ebf4}.schedule-row-soft{position:relative;min-height:82px;margin:0 5px;padding:0 0;border-bottom:1px solid #eef1f5;transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease}.schedule-row-soft:last-child{border-bottom:0}.schedule-row-soft:hover{z-index:2;border-radius:10px;background:#f8fbff;box-shadow:inset 3px 0 #5b89ce}.schedule-row-soft.actions-open{z-index:12}.schedule-cell{min-width:0;padding:12px 10px;font-size:11px}.time-cell{align-self:stretch;display:flex;flex-direction:column;justify-content:center;text-align:left}.time-cell:before{content:"";position:absolute;left:27px;width:7px;height:7px;border:2px solid #fff;border-radius:50%;background:#7aa0d8;box-shadow:0 0 0 1px #b8c9e2}.time-cell strong{padding-left:19px;color:var(--pa-blue-700);font-size:13px}.time-cell small{margin:3px 0 0 19px!important;color:var(--pa-muted)!important;font-size:9px!important}.work-location-soft{display:flex;align-items:flex-start;gap:5px;margin-bottom:7px;color:#1d3048;font-size:11px;line-height:1.35}.work-location-soft i{color:#6f91c5;font-style:normal}.work-content-soft{display:flex;align-items:center;flex-wrap:wrap;gap:5px;color:#5d6b7e;font-size:10px;line-height:1.45}.source-tag-soft{padding:2px 6px;border:1px solid #cbdcf4;border-radius:5px;color:var(--pa-blue-700);background:var(--pa-blue-100);font-size:8px;font-weight:800}.unit-cell span{display:inline-flex;padding:4px 7px;border-radius:6px;color:var(--pa-blue-700);background:#edf4ff;font-size:9px;font-weight:750}.vehicle-cell strong{display:block;color:#35465b;font-size:10.5px;font-weight:600}.vehicle-cell small{margin-top:5px!important;color:var(--pa-muted)!important;font-size:9px!important}.progress-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.progress-meta span{color:#40536b;font-size:10px;font-weight:700}.progress-meta small{margin:0!important;color:#8a97a8!important;font-size:8px!important}.progress-track{height:5px;overflow:hidden;border-radius:5px;background:#e9eef5}.progress-track i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#3e78cb,#6fa0e1)}.progress-days{display:flex;gap:3px;margin-top:7px}.progress-days i{width:10px;height:3px;border-radius:3px;background:#e1e7ef}.progress-days i.filled{background:#6a96d4}.report-status-soft{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:12px;font-size:8.5px;font-weight:700;white-space:nowrap}.report-status-soft i{width:5px;height:5px;border-radius:50%;background:currentColor}.report-status-soft.reported i{width:auto;height:auto;border-radius:0;background:transparent;font-size:10px;line-height:1}.report-status-soft.reported i:before{content:"✓";font-style:normal;font-weight:800}.report-status-soft.reported,.report-status-soft.in_progress{color:#17845a;background:#eaf8f2}.report-status-soft.updating{color:#7c54b4;background:#f2edfb}.report-status-soft.not_reported{color:#c96b25;background:#fff3e9}.row-actions-soft{position:relative;text-align:center}.more-button{width:28px;height:28px;display:grid;place-items:center;border:1px solid transparent;border-radius:7px;color:#7a899d;font-weight:800;letter-spacing:1px}.more-button:hover{border-color:#dce4ef;background:#fff}.action-menu{position:absolute;z-index:20;top:45px;right:10px;width:112px;display:none;padding:5px;border:1px solid var(--pa-border);border-radius:9px;background:#fff;box-shadow:0 12px 28px rgba(16,42,67,.15);text-align:left}.row-actions-soft:hover .action-menu,.row-actions-soft:focus-within .action-menu{display:block}.action-menu a,.action-menu button{width:100%;display:block;padding:7px 8px;border:0;border-radius:5px;color:#40526a;background:transparent;font-size:9px;text-align:left}.action-menu a:hover,.action-menu button:hover{background:#f0f5fc}.action-menu button{color:#bd3e3e;cursor:pointer}.empty-state{padding:60px 20px;color:var(--pa-muted);text-align:center}.empty-state strong{display:block;margin-top:8px;color:var(--pa-ink)}
@media(max-width:1200px){.board-column-head,.schedule-row-soft{grid-template-columns:78px minmax(290px,2fr) 72px minmax(130px,1fr) 135px 110px 38px}.office-workspace{padding-left:18px;padding-right:18px}}
@media(max-width:900px){.calendar-heading{padding:15px}.calendar-heading p{display:none}.toolbar-row-soft{align-items:flex-start;flex-direction:column}.table-filters-soft{width:100%}.table-filters-soft label{flex:1}.table-filters-soft input{width:100%}.week-board-soft{overflow-x:auto}.board-column-head,.schedule-row-soft{min-width:940px}.board-column-head{position:static}.summary-strip-soft{overflow-x:auto}.summary-strip-soft span{min-width:135px}.day-heading-soft{min-width:940px}}
@media(max-width:720px){.office-workspace{margin-left:0;padding:66px 8px 20px}.calendar-heading h1{font-size:var(--page-title-size)}.heading-actions .soft-button{display:none}.summary-strip-soft{margin:8px 0}.summary-strip-soft span{padding:7px 10px}.toolbar-row-soft .week-title{align-self:center}.table-filters-soft select{min-width:112px}.day-rows-soft{padding-left:5px}.day-rows-soft:before{left:36px}}
/* ===== Readable compact schedule refinement ===== */
.office-workspace{padding-top:70px}
.calendar-heading{padding:13px 20px 11px}.calendar-heading h1{font-size:var(--page-title-size)}.calendar-heading p{font-size:12px}.toolbar-row-soft{min-height:48px;padding:7px 16px}.summary-strip-soft{margin:8px 0}.summary-strip-soft span{padding:7px 12px;font-size:11.5px}
.board-column-head,.schedule-row-soft{grid-template-columns:96px minmax(400px,1fr) 88px 210px 170px 130px 36px}.board-column-head{min-height:40px;padding:0 12px;font-size:11px;letter-spacing:.02em}.board-column-head span{padding:0 8px}
.day-heading-soft{min-height:44px;padding:5px 16px}.day-date{width:42px;height:34px}.day-date b{font-size:17px;line-height:15px}.day-date small{font-size:7px}.day-name strong{font-size:14px}.day-name small{font-size:10.5px}.day-count{font-size:10.5px}
.day-rows-soft{padding-left:0}.day-rows-soft:before{display:block!important;left:37px}.time-cell:before{display:block!important;left:29px;transform:translateX(-50%)}.schedule-row-soft{min-height:62px;margin:0 8px}.schedule-cell{padding:7px 8px;font-size:12px}.time-cell strong{padding-left:42px;color:#1455a2;font-size:15px;line-height:1.15}.time-cell small{margin:3px 0 0 42px!important;font-size:10.5px!important}
.work-location-soft{margin-bottom:5px;overflow:hidden;color:#17304d;font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.work-location-soft i{font-size:11px}.work-content-soft{align-items:flex-start;flex-wrap:nowrap;gap:6px;color:#53657c;font-size:12px;line-height:1.3}.work-content-soft>span:last-child{min-width:0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.source-tag-soft{flex:none;padding:2px 6px;font-size:9.5px}
.unit-cell span{padding:4px 8px;font-size:10.5px}.vehicle-cell strong{font-size:12px;line-height:1.3}.vehicle-cell small{margin-top:3px!important;font-size:10.5px!important}.progress-meta{margin-bottom:5px}.progress-meta span{font-size:11.5px}.progress-meta small{font-size:9.5px!important}.progress-days{margin-top:5px}.report-status-soft{padding:5px 8px;font-size:10px}.more-button{font-size:12px}
@media(max-width:1200px){.board-column-head,.schedule-row-soft{grid-template-columns:90px minmax(342px,1fr) 80px 180px 145px 118px 34px}}
@media(max-width:900px){.board-column-head,.schedule-row-soft,.day-heading-soft{min-width:1010px}.schedule-row-soft{min-height:62px}}
@media(max-width:720px){.office-workspace{padding-top:62px}.calendar-heading{padding:12px}.calendar-heading h1{font-size:var(--page-title-size)}.schedule-cell{font-size:12px}}
/* Source tags on separate lines */
.source-tags-stack{display:flex;flex:none;flex-direction:column;align-items:flex-start;gap:3px}.source-tags-stack .source-tag-soft{display:inline-flex}

/* Collapsible office sidebar */
.office-rail{transition:transform .22s ease,visibility .22s ease}.office-topbar{transition:left .22s ease}.office-workspace{transition:margin-left .22s ease,max-width .22s ease}.hamburger{width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;color:#fff;background:transparent;cursor:pointer;line-height:1}.hamburger:hover,.hamburger:focus-visible{background:rgba(255,255,255,.14);outline:none}.office-shell.rail-collapsed .office-rail{transform:translateX(-100%);visibility:hidden}.office-shell.rail-collapsed .office-topbar{left:0}.office-shell.rail-collapsed .office-workspace{max-width:none;margin-left:0}
/* Sticky day heading below column labels */
.day-heading-soft{position:sticky;z-index:7;top:94px;box-shadow:0 1px 0 rgba(16,42,67,.04)}
@media(max-width:900px){.day-heading-soft{top:54px}}
/* Separate timeline for each day */
.day-section-soft+.day-section-soft{border-top:8px solid #edf2f8}.day-rows-soft:before{content:none}
.schedule-row-soft:before{content:"";position:absolute;top:0;bottom:-1px;left:29px;width:1px;background:#e5ebf4;z-index:1;pointer-events:none}

.schedule-row-soft.schedule-day-last:before{bottom:50%}
.time-cell:before{top:50%;transform:translate(-50%,-50%)}.day-heading-soft{border-bottom:1px solid #dfe7f1}.day-section-soft:not(.today) .day-heading-soft{background:linear-gradient(90deg,#eef4fb 0%,#f8fafd 72%,#fff 100%)}
/* Right aligned topbar account cluster */
.office-topbar .global-search{position:absolute;left:50%;margin:0;transform:translateX(-50%)}.office-topbar .top-tools{position:absolute;top:0;right:22px;height:54px;justify-content:flex-end;margin:0}.office-topbar .top-tools .user-menu{padding-right:0}
/* Align topbar controls with content gutter */
.office-topbar .top-tools{right:28px}
@media(max-width:1200px){.office-topbar .top-tools{right:18px}}
@media(max-width:720px){.office-topbar .top-tools{right:8px}}
/* Responsive schedule columns inside workspace */
.schedule-row-soft{width:calc(100% - 16px)}.board-column-head{width:100%}.report-cell{min-width:0;overflow:hidden}.report-status-soft{max-width:100%}
@media(max-width:1500px){.board-column-head,.schedule-row-soft{grid-template-columns:96px minmax(0,1fr) 76px 190px 150px 118px 32px}.report-cell{padding-left:6px;padding-right:6px}.report-status-soft{padding:5px 6px;font-size:9.5px}.row-actions-soft{padding-left:2px;padding-right:2px}}
/* Postponed schedule treatment */
.day-rows-soft:before{z-index:1;pointer-events:none}.time-cell:before{z-index:2}.schedule-row-soft.postponed{background:#fffafa;box-shadow:none}.schedule-row-soft.postponed:hover{background:#fff6f7;box-shadow:inset 3px 0 rgba(220,53,69,.35)}.schedule-row-soft.postponed .time-cell strong,.schedule-row-soft.postponed .work-location-soft,.schedule-row-soft.postponed .work-content-soft>span:last-child{text-decoration-line:line-through;text-decoration-color:rgba(196,45,58,.72);text-decoration-thickness:1px}.postponed-tag{display:inline-flex;align-items:center;padding:3px 7px;border:1px solid #ef9aa2;border-radius:10px;color:#a92532;background:#fff0f1;font-size:9.5px;font-weight:700;white-space:nowrap}.vehicle-empty{color:#a4afbd}
/* Postponed tag before location */
.work-heading-soft{min-width:0;display:flex;align-items:center;gap:7px;margin-bottom:5px}.work-heading-soft .work-location-soft{min-width:0;flex:1;margin-bottom:0}.work-heading-soft .postponed-tag{flex:none}.schedule-row-soft.postponed .time-cell:before{background:#dc3545}
/* Schedule contact directory */
.board-column-head,.schedule-row-soft{grid-template-columns:96px minmax(330px,1fr) 190px 190px 150px 118px 32px}
.unit-cell{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.unit-cell>.unit-code{align-self:flex-start}
.assignee-list{display:flex;flex-direction:column;gap:5px;margin-top:6px}
.contact-person{min-width:0}
.contact-person>strong{display:block;overflow:hidden;color:#35465b;font-size:10.5px;font-weight:650;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.contact-person>small,.driver-contact>small{display:flex;align-items:center;gap:5px;margin-top:2px!important;color:var(--pa-muted)!important;font-size:9.5px!important;line-height:1.2}
.phone-number{color:#526b8a;text-decoration:none;white-space:nowrap}
.phone-number:hover{color:var(--pa-blue-700);text-decoration:underline}
.contact-actions{display:inline-flex;gap:3px}
.unit-cell .contact-actions{padding:0;border-radius:0;color:inherit;background:transparent;font-size:inherit;font-weight:inherit}
.contact-actions a{width:18px;height:18px;display:grid;place-items:center;border:1px solid #d6e1ef;border-radius:5px;color:#1a5ca8;background:#fff;font-size:10px;line-height:1;text-decoration:none}
.contact-actions a:hover{border-color:#9ebbe1;background:#edf5ff}
.driver-contact{margin-top:4px}
.driver-contact>small:first-child{font-size:10.5px!important}
@media(max-width:1500px){.board-column-head,.schedule-row-soft{grid-template-columns:96px minmax(260px,1fr) 165px 165px 135px 112px 30px}.contact-person>strong{font-size:10px}.contact-person>small,.driver-contact>small{font-size:9px!important}.contact-actions a{width:17px;height:17px}}
@media(max-width:900px){.board-column-head,.schedule-row-soft,.day-heading-soft{min-width:1120px}}
/* Compact modern contact actions */
.assignee-list{gap:4px;margin-top:5px}
.contact-person,.driver-contact{min-width:0;display:flex;align-items:center;gap:5px}
.contact-person>strong{min-width:0;flex:0 1 auto}
.driver-contact{margin-top:4px}
.driver-contact>small{min-width:0;overflow:hidden;margin:0!important;font-size:10.5px!important;text-overflow:ellipsis;white-space:nowrap}
.contact-actions{flex:none;display:inline-flex;gap:3px}
.contact-actions a{width:20px;height:20px;border-color:#d9e3f0;border-radius:6px;color:#326fb8;background:#f8fbff}
.contact-actions a:hover{border-color:#93b2db;color:#1455a2;background:#eaf3ff}
.icon-mobile{position:relative;width:7px;height:12px;display:block;border:1.4px solid currentColor;border-radius:2px}
.icon-mobile:after{content:"";position:absolute;left:50%;bottom:1px;width:1.8px;height:1.8px;border-radius:50%;background:currentColor;transform:translateX(-50%)}
.icon-message{position:relative;width:12px;height:9px;display:block;border:1.4px solid currentColor;border-radius:4px}
.icon-message:after{content:"";position:absolute;left:2px;bottom:-3px;width:4px;height:4px;border-left:1.4px solid currentColor;transform:skewY(-38deg)}
@media(max-width:1500px){.contact-actions a{width:19px;height:19px}}
/* Multi-unit schedule picker */
.unit-codes{display:flex!important;flex-wrap:wrap;gap:4px;padding:0!important;background:transparent!important}
.unit-cell>.unit-codes{align-self:flex-start}
.unit-cell .unit-codes>.unit-code{padding:4px 8px;border-radius:6px;color:var(--pa-blue-700);background:#edf4ff;font-size:10.5px;font-weight:750}
.unit-picker{min-width:0;margin:0;padding:0;border:0}
.unit-picker legend{margin-bottom:7px;color:#596471;font-size:10px;font-weight:700}
.unit-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.unit-options label{position:relative;cursor:pointer}
.unit-options input{position:absolute;width:1px;height:1px;opacity:0}
.unit-options label>span{min-height:48px;display:flex;flex-direction:column;justify-content:center;padding:8px 10px;border:1px solid #ced5de;border-radius:8px;background:#fff;transition:.15s ease}
.unit-options label>span b{color:#29415f;font-size:11px}
.unit-options label>span small{margin-top:3px;color:#7b8796;font-size:9.5px}
.unit-options input:checked+span{border-color:#5b8acb;background:#edf5ff;box-shadow:0 0 0 2px rgba(55,101,179,.12)}
.unit-options input:focus-visible+span{outline:2px solid #3765b3;outline-offset:2px}
.field-help{display:block;margin-top:6px;color:#7b8796;font-size:9.5px}
@media(max-width:720px){.unit-options{grid-template-columns:1fr 1fr}}
/* Unit and assignee on one line */
.unit-cell{padding-top:6px;padding-bottom:6px}
.unit-cell .assignee-list{width:100%;gap:3px;margin-top:0}
.unit-cell .contact-person{width:100%;min-height:22px;gap:5px}
.unit-cell .contact-person>.unit-code{min-width:34px;flex:none;display:inline-flex;justify-content:center;padding:3px 5px;border-radius:5px;color:var(--pa-blue-700);background:#edf4ff;font-size:9px;font-weight:800}
.unit-cell .contact-person>strong{min-width:0;flex:1;font-size:10.5px;line-height:1.2}
.unit-cell .contact-person.unassigned>strong{color:#9aa6b5;font-size:9.5px;font-weight:500;font-style:italic}
.unit-cell .contact-actions{gap:2px}
.unit-cell .contact-actions a{width:18px;height:18px}
@media(max-width:1500px){.unit-cell .contact-person>.unit-code{min-width:31px;font-size:8.5px}.unit-cell .contact-person>strong{font-size:10px}.unit-cell .contact-actions a{width:17px;height:17px}}
.unit-cell .unit-code-placeholder{visibility:hidden}

/* Align postponed work content with station name */
.schedule-row-soft.postponed .postponed-tag{box-sizing:border-box;flex:0 0 44px;justify-content:center}
.schedule-row-soft.postponed .work-heading-soft .work-location-soft i{flex:0 0 10px;text-align:center}
.schedule-row-soft.postponed .work-content-soft{padding-left:66px}
/* Postponed tag after station; keep standard content alignment */
.schedule-row-soft.postponed .work-heading-soft .work-location-soft{flex:0 1 auto}
.schedule-row-soft.postponed .postponed-tag{width:auto;flex:none}
.schedule-row-soft.postponed .work-heading-soft .work-location-soft i{flex:initial;text-align:initial}
.schedule-row-soft.postponed .work-content-soft{padding-left:0}
/* Small contact icons immediately after each name */
.unit-cell .person-main{min-width:0;flex:1;display:flex;align-items:center;flex-wrap:wrap;gap:3px}
.unit-cell .person-main>strong{min-width:0;flex:0 1 auto;overflow:visible;color:#35465b;font-size:10.5px;font-weight:650;line-height:1.25;text-overflow:clip;white-space:normal}
.unit-cell .contact-actions,.driver-contact .contact-actions{gap:2px}
.unit-cell .contact-actions a,.driver-contact .contact-actions a{width:15px;height:15px;border-radius:4px}
.unit-cell .icon-mobile,.driver-contact .icon-mobile{width:6px;height:10px}
.unit-cell .icon-message,.driver-contact .icon-message{width:10px;height:7px;border-radius:3px}
.driver-contact{flex-wrap:wrap;gap:3px}
@media(max-width:1500px){.unit-cell .person-main>strong{font-size:10px}.unit-cell .contact-actions a,.driver-contact .contact-actions a{width:15px;height:15px}}
/* Match employee names to driver typography */
.unit-cell .person-main{gap:3px;color:var(--pa-muted)}
.unit-cell .person-icon{flex:none;color:var(--pa-muted);font-size:10.5px;font-style:normal;line-height:1.25}
.unit-cell .person-main>strong{color:var(--pa-muted);font-size:10.5px;font-weight:400;line-height:1.25}
@media(max-width:1500px){.unit-cell .person-icon,.unit-cell .person-main>strong{font-size:10.5px}}
/* Wider unit column and plain employee names */
.unit-cell .person-main{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
.board-column-head,.schedule-row-soft{grid-template-columns:96px minmax(300px,1fr) 220px 180px 145px 118px 32px}
@media(max-width:1500px){.board-column-head,.schedule-row-soft{grid-template-columns:96px minmax(230px,1fr) 195px 160px 130px 108px 30px}}
/* Unified work report workflow */
.report-status-soft{text-decoration:none}
.report-workflow{margin:0 24px 24px;padding:20px;border:1px solid #dfe7f1;border-radius:14px;background:#f8fbff}
.report-workflow-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}
.report-workflow-head h2{margin:4px 0 3px;color:#20364f;font-size:18px}
.report-workflow-head p{margin:0;color:#728197;font-size:11px}
.report-counter{flex:none;padding:6px 10px;border-radius:14px;color:#55708f;background:#eaf1fa;font-size:10px;font-weight:700}
.report-flash{margin-bottom:12px;padding:9px 11px;border-radius:8px;font-size:11px}.report-flash.success{color:#167454;background:#e9f8f1}.report-flash.error{color:#a52d38;background:#fff0f1}
.report-entry-form{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:14px;padding:0;border:0;background:transparent}
.report-summary-field>span,.report-progress-field>span:first-child{display:block;margin-bottom:6px;color:#617188;font-size:10px;font-weight:700}
.report-summary-field textarea{width:100%;min-height:100px;resize:vertical;padding:10px 11px;border:1px solid #d4deea;border-radius:8px;color:#35465b;background:#fbfdff;font:inherit;font-size:11.5px;line-height:1.5;outline:0}
.report-summary-field textarea:focus,.progress-number:focus-within{border-color:#6f96ca;box-shadow:0 0 0 3px rgba(55,101,179,.1)}
.report-form-side{display:flex;flex-direction:column;gap:10px}.progress-number{height:36px;display:flex;align-items:center;border:1px solid #d4deea;border-radius:8px;background:#fbfdff}.progress-number input{min-width:0;flex:1;padding:0 9px;border:0;outline:0;background:transparent;font-size:12px}.progress-number b{padding-right:9px;color:#718096;font-size:11px}
.finish-option{display:flex;align-items:flex-start;gap:8px;padding:9px;border:1px solid #d7e2ef;border-radius:8px;cursor:pointer}.finish-option input{width:15px;height:15px;margin-top:1px;accent-color:#1a69c7}.finish-option span{display:block!important;margin:0!important}.finish-option b,.finish-option small{display:block}.finish-option b{color:#354a64;font-size:10.5px}.finish-option small{margin-top:3px;color:#8090a4;font-size:9px;line-height:1.35}
.report-form-side button{height:36px;margin-top:auto;border:0;border-radius:8px;color:#fff;background:#2468bd;font-size:10.5px;font-weight:700;cursor:pointer;box-shadow:0 5px 12px rgba(36,104,189,.18)}
.report-closed{padding:12px;border-radius:9px;color:#8f651d;background:#fff7df;font-size:11px}.report-closed.completed{color:#177554;background:#eaf8f2}
.report-timeline{position:relative;margin-top:18px;padding-left:20px}.report-timeline:before{content:"";position:absolute;top:5px;bottom:5px;left:5px;width:1px;background:#dbe5f0}.report-entry{position:relative;margin-bottom:10px;padding:11px 12px;border:1px solid #e0e7f0;border-radius:9px;background:#fff}.report-entry-dot{position:absolute;top:15px;left:-20px;width:9px;height:9px;border:2px solid #f8fbff;border-radius:50%;background:#779bd0;box-shadow:0 0 0 1px #b9cbe3}.report-entry.final .report-entry-dot{background:#27a676}.report-entry-head{display:flex;align-items:center;gap:8px}.report-entry-kind{padding:3px 6px;border-radius:5px;color:#285f9f;background:#edf4ff;font-size:9px;font-weight:750}.report-entry.final .report-entry-kind{color:#177554;background:#eaf8f2}.report-entry time{color:#8491a2;font-size:9.5px}.report-entry-head b{margin-left:auto;color:#40546d;font-size:11px}.report-entry p{margin:7px 0 0;color:#53657b;font-size:11px;line-height:1.5}.report-empty{padding:24px;color:#7e8da1;text-align:center}.report-empty span{font-size:21px}.report-empty strong{display:block;margin-top:4px;color:#53657b;font-size:12px}.report-empty p{margin:4px 0 0;font-size:10px}
@media(max-width:720px){.report-workflow{margin:0 12px 16px;padding:14px}.report-entry-form{grid-template-columns:1fr}.report-workflow-head{gap:10px}}
/* Combined progress and report status column */
.board-column-head,.schedule-row-soft{grid-template-columns:96px minmax(330px,1fr) 220px 180px 220px 32px}
.status-cell{min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.status-top{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:7px}
.status-top>strong{flex:none;color:#40536b;font-size:12px;font-weight:750}
.status-top .report-status-soft{min-width:0;max-width:145px;overflow:hidden;padding:4px 7px;text-overflow:ellipsis}
.status-bottom{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:5px}
.status-bottom>small{flex:none;color:#8a97a8;font-size:9px}
.status-bottom .progress-days{min-width:0;justify-content:flex-end;margin-top:0;overflow:hidden}
@media(max-width:1500px){.board-column-head,.schedule-row-soft{grid-template-columns:96px minmax(260px,1fr) 195px 160px 210px 30px}.status-top .report-status-soft{max-width:135px}}
@media(max-width:900px){.board-column-head,.schedule-row-soft,.day-heading-soft{min-width:1120px}}
/* Automatic day-based timeline progress */
.status-top>strong{color:#205d9f}
.progress-days i.filled{background:#78a3dd}
/* Unified soft surface for detail, create and edit pages */
.page-card-soft{max-width:none;overflow:hidden;border:1px solid var(--pa-border);border-radius:14px;background:rgba(255,255,255,.97);box-shadow:var(--pa-shadow)}
.page-card-soft .page-card-head{min-height:92px;align-items:center;padding:17px 22px;border-bottom:1px solid #edf0f5;background:#fff}
.page-card-soft .page-card-head .eyebrow{display:block;color:var(--pa-blue-600);font-size:10px;font-weight:800;letter-spacing:.13em}
.page-card-soft .page-card-head h1{margin:5px 0 3px;color:var(--pa-ink);font-size:var(--page-title-size);line-height:1.3}
.page-card-soft .page-card-head p{color:var(--pa-muted);font-size:11.5px;line-height:1.45}
.page-head-actions{display:flex;align-items:center;gap:8px}
.page-card-soft .page-back,.page-card-soft .edit-button{height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:8px;font-size:11.5px;font-weight:650;white-space:nowrap}
.page-card-soft .page-back{border:1px solid #dbe4f1;color:var(--pa-blue-700);background:#f7f9fc}
.page-card-soft .page-back:hover{background:var(--pa-blue-100)}
.page-card-soft .edit-button{border:1px solid var(--pa-blue-600);color:#fff;background:var(--pa-blue-600);box-shadow:0 4px 12px rgba(30,92,194,.18)}
.page-card-soft .schedule-form{padding:20px 22px 22px;background:#fbfcfe}
.page-card-soft .form-grid{gap:15px 16px}
.page-card-soft .form-grid label>span,.page-card-soft .unit-picker legend{margin-bottom:6px;color:#5d6d82;font-size:10.5px;font-weight:700}
.page-card-soft .form-grid input,.page-card-soft .form-grid select,.page-card-soft .form-grid textarea{min-height:38px;padding:9px 11px;border:1px solid #dce4ee;border-radius:8px;color:#30445d;background:#fff;font-size:11.5px;line-height:1.45;transition:border-color .15s ease,box-shadow .15s ease}
.page-card-soft .form-grid textarea{resize:vertical}
.page-card-soft .form-grid input:focus,.page-card-soft .form-grid select:focus,.page-card-soft .form-grid textarea:focus{border-color:#7da2d1;box-shadow:0 0 0 3px rgba(55,101,179,.1)}
.page-card-soft .unit-options label>span{border-color:#dce4ee;background:#fff}
.page-card-soft .form-actions{margin:20px -22px -22px;padding:14px 22px;border-top:1px solid #edf0f5;background:#fff}
.page-card-soft .form-actions a,.page-card-soft .form-actions button{height:36px;padding:0 15px;border-radius:8px;font-size:11.5px;font-weight:650}
.page-card-soft .form-actions a{border-color:#dbe4f1;color:var(--pa-blue-700);background:#f7f9fc}
.page-card-soft .form-actions button{border-color:var(--pa-blue-600);color:#fff;background:var(--pa-blue-600);box-shadow:0 4px 12px rgba(30,92,194,.16);cursor:pointer}
.page-card-soft .detail-grid{gap:10px;padding:16px 22px 18px;background:#fbfcfe}
.page-card-soft .detail-grid div{min-width:0;padding:13px 14px;border:1px solid #e3e9f1;border-radius:10px;background:#fff}
.page-card-soft .detail-grid span{color:#7b899c;font-size:9.5px;letter-spacing:.025em}
.page-card-soft .detail-grid strong{color:#30445d;font-size:12px;line-height:1.45}
.page-card-soft .report-workflow{margin:0 22px 22px}
@media(max-width:720px){.page-card-soft .page-card-head{align-items:flex-start;gap:12px;padding:15px;flex-direction:column}.page-head-actions{width:100%;flex-wrap:wrap}.page-card-soft .schedule-form{padding:15px}.page-card-soft .form-actions{margin:18px -15px -15px;padding:12px 15px}.page-card-soft .detail-grid{padding:12px}.page-card-soft .report-workflow{margin:0 12px 14px}}
/* Keep the schedule detail page aligned with the create/edit form surface. */
.schedule-detail-page .schedule-detail-body{padding:14px 18px 18px;background:#f7f9fc}
.schedule-detail-page .detail-work-items{margin:0;padding:14px 15px;border-color:#e2e8f0}
.schedule-detail-page .detail-work-items .priority-work-item{padding-top:10px;padding-bottom:10px}
.schedule-detail-page .detail-work-items .work-item-content{color:#30445d;font-size:15px;font-weight:500;line-height:1.6}
.schedule-detail-page .detail-grid{gap:10px 12px;margin-top:10px;padding:0;background:transparent}
.schedule-detail-page .detail-grid div{padding:12px 13px;border-color:#e2e8f0;border-radius:8px}
.schedule-detail-page .detail-grid .schedule-status-summary{min-height:42px;display:flex;align-items:center;grid-column:1/-1;padding:10px 14px;border-color:#e2e8f0;background:#fff}
.schedule-detail-page .detail-grid .schedule-status-summary strong{margin:0;color:#8a97a8;font-size:13px}
.schedule-detail-page .detail-grid .schedule-status-summary.status-in_progress strong,.schedule-detail-page .detail-grid .schedule-status-summary.status-completed strong{color:#17845a}
.schedule-detail-page .detail-grid .schedule-status-summary.status-ended strong{color:#b85f1f}
.schedule-detail-page .detail-grid .schedule-status-summary.status-postponed strong{color:#a92532}
.schedule-detail-page .detail-grid .schedule-assignees{margin-top:6px;color:#52657b;font-size:12.5px;font-style:italic;font-weight:600;line-height:1.45}
.schedule-detail-page .cooperation-subject-card{margin:10px 0 0}
.schedule-detail-page .report-workflow{margin:10px 0 0;padding:16px;border-radius:10px;background:#fff}
.schedule-detail-page .report-workflow.completed-report .report-summary-field textarea{border-color:#a9d7c5;color:#176b50;background:#eefaf5}
@media(max-width:720px){.schedule-detail-page .schedule-detail-body{padding:10px}.schedule-detail-page .detail-work-items .work-item-content{font-size:14px}.schedule-detail-page .detail-grid{padding:0}.schedule-detail-page .report-workflow{margin:10px 0 0}.schedule-detail-page .cooperation-subject-card{margin:10px 0 0}}
/* Clickable work summary */
.work-detail-link{border-radius:6px;outline:none;transition:color .15s ease,background-color .15s ease}
.work-detail-link:hover{color:var(--pa-blue-700)}
.work-detail-link:hover>span:last-child{text-decoration:underline;text-decoration-color:#9bb7dc;text-underline-offset:2px}
.work-detail-link:focus-visible{box-shadow:0 0 0 3px rgba(55,101,179,.14)}
/* Simplified status column */
.status-cell .status-top{margin-bottom:8px}
.status-time-label{overflow:hidden;color:#8a97a8;font-size:9.5px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.status-cell .progress-track{height:4px;background:#e8edf4}
.status-top.postponed-only{justify-content:flex-end;margin-bottom:0}
.report-status-soft.postponed{color:#a92532;background:#fff0f1}
.status-top.upcoming-only{justify-content:flex-start}
/* Click-operated row action menu */
.more-button{appearance:none;padding:0;background:transparent;cursor:pointer}
.more-button[aria-expanded="true"]{border-color:#cddbeb;color:var(--pa-blue-700);background:#edf4ff}
.row-actions-soft:hover .action-menu,.row-actions-soft:focus-within .action-menu{display:none}
.row-actions-soft.menu-open .action-menu{display:block}
.action-menu{top:calc(50% + 15px);right:2px;width:142px;padding:6px;border-radius:10px}.row-actions-soft.menu-up .action-menu{top:auto;bottom:calc(50% + 15px)}
.action-menu a,.action-menu button{display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;font-size:10px;font-weight:550;text-decoration:none;cursor:pointer}
.action-menu .menu-icon{width:16px;height:16px;display:grid;flex:none;place-items:center;color:#66809f;font-size:12px;font-style:normal;line-height:1}
.action-menu .delete-action{color:#aa2f3a;background:#fff7f7}
.action-menu .delete-action .menu-icon{color:#c3424e}
.action-menu .delete-action:hover{color:#962530;background:#ffedef}
.action-menu .postpone-action{color:#9b5d17}.action-menu .postpone-action .menu-icon{color:#c47a20}.action-menu .postpone-action:hover{color:#81480b;background:#fff5e8}
.action-menu .cooperation-copy-action{color:#40526a}.action-menu .cooperation-copy-action .menu-icon{color:#2870bf}.action-menu .cooperation-copy-action.is-copied{color:#157454;background:#eaf8f2}
.cooperation-subject-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 22px 0;padding:14px 16px;border:1px solid #cfe0f3;border-radius:12px;background:#f5f9ff}.cooperation-subject-card>div{min-width:0}.cooperation-subject-card .eyebrow{color:#3270b5}.cooperation-subject-card p{margin:6px 0 0;color:#334a64;font-size:12px;line-height:1.55}.cooperation-subject-card button{height:34px;flex:none;padding:0 13px;border:1px solid #9ebcdf;border-radius:8px;color:#235f9f;background:#fff;font-size:10.5px;font-weight:700;cursor:pointer}.cooperation-subject-card button:hover{background:#eaf3ff}.cooperation-subject-card button.is-copied{border-color:#9bd0bc;color:#157454;background:#eaf8f2}.cooperation-subject-toast{position:fixed;z-index:1000;right:22px;bottom:22px;max-width:min(520px,calc(100vw - 28px));padding:12px 14px;border:1px solid #a9d7c5;border-radius:10px;color:#155f47;background:#effaf5;box-shadow:0 12px 30px rgba(16,42,67,.18);font-size:11px;line-height:1.45;transition:opacity .2s ease,transform .2s ease}.cooperation-subject-toast[hidden]{display:block;opacity:0;pointer-events:none;transform:translateY(8px)}
@media(max-width:720px){.cooperation-subject-card{align-items:stretch;flex-direction:column;margin:12px 12px 0}.cooperation-subject-card button{width:100%}.cooperation-subject-toast{right:14px;bottom:14px}}
/* Quick report modal from status badge */
button.report-status-soft{border:0;font:inherit;cursor:pointer}
button.report-status-soft:hover{filter:saturate(1.05);box-shadow:0 0 0 2px rgba(55,101,179,.08)}
button.report-status-soft:focus-visible{outline:2px solid #6f96ca;outline-offset:2px}
.quick-report-dialog{width:min(540px,calc(100vw - 24px));max-height:calc(100vh - 30px);padding:0;border:0;border-radius:16px;color:var(--pa-ink);background:transparent;box-shadow:0 24px 70px rgba(13,38,70,.24)}
.quick-report-dialog::backdrop{background:rgba(17,36,62,.35);backdrop-filter:blur(2px)}
.quick-report-card{overflow:hidden;border:1px solid #dfe6f0;border-radius:16px;background:#fff}
.quick-report-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 19px 14px;border-bottom:1px solid #edf0f5}
.quick-report-card .eyebrow{color:var(--pa-blue-600);font-size:9px;font-weight:800;letter-spacing:.13em}
.quick-report-card h2{margin:4px 0 0;font-size:19px}
.quick-report-close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid #dfe6f0;border-radius:8px;color:#6f7f93;background:#f8fafc;font-size:19px;cursor:pointer}
.quick-report-close:hover{color:#334b68;background:#eef4fb}
.quick-report-body{padding:16px 19px 18px;background:#fbfcfe}
.quick-report-schedule{margin-bottom:14px;padding:11px 12px;border:1px solid #e2e9f2;border-radius:10px;background:#fff}
.quick-report-schedule span,.quick-report-schedule strong,.quick-report-schedule small{display:block}
.quick-report-schedule span{color:#68809e;font-size:9.5px}
.quick-report-schedule strong{margin-top:4px;color:#263c57;font-size:12px;line-height:1.4}
.quick-report-schedule small{margin-top:4px;color:#8a97a8;font-size:9px}
.quick-report-form{display:flex;flex-direction:column;gap:11px}
.quick-report-form[hidden],.quick-report-completed[hidden]{display:none!important}
.quick-report-form label>span:first-child{display:block;margin-bottom:6px;color:#5d6d82;font-size:10px;font-weight:700}
.quick-report-form textarea{width:100%;min-height:92px;resize:vertical;padding:10px 11px;border:1px solid #d7e0eb;border-radius:9px;color:#30445d;background:#fff;font:inherit;font-size:11.5px;line-height:1.5;outline:0}
.quick-report-form textarea:focus,.quick-progress:focus-within{border-color:#7da2d1;box-shadow:0 0 0 3px rgba(55,101,179,.1)}
.quick-report-presets{display:flex;flex-wrap:wrap;gap:6px}
.quick-report-presets button{padding:6px 8px;border:1px solid #dbe5f1;border-radius:13px;color:#506984;background:#fff;font-size:9.5px;cursor:pointer}
.quick-report-presets button:hover{border-color:#b7cce6;color:#245b9f;background:#edf5ff}
.quick-report-fields{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px}
.quick-progress{height:38px;display:flex;align-items:center;border:1px solid #d7e0eb;border-radius:9px;background:#fff}
.quick-progress input{min-width:0;flex:1;padding:0 9px;border:0;outline:0;background:transparent;font-size:12px}
.quick-progress b{padding-right:9px;color:#7b899b;font-size:10px}
.quick-finish{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #dce5ef;border-radius:9px;background:#fff;cursor:pointer}
.quick-finish>input{width:15px;height:15px;flex:none;accent-color:#2468bd}
.quick-finish>span{margin:0!important}.quick-finish b,.quick-finish small{display:block}.quick-finish b{color:#40546d;font-size:10.5px}.quick-finish small{margin-top:2px;color:#8794a5;font-size:9px}
.quick-report-form footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:3px -19px -18px;padding:13px 19px;border-top:1px solid #edf0f5;background:#fff}
.quick-report-form footer a,.quick-report-form footer button{height:35px;display:inline-flex;align-items:center;justify-content:center;padding:0 13px;border-radius:8px;font-size:10.5px;font-weight:650}
.quick-report-form footer a{margin-right:auto;border:1px solid #dbe4f1;color:#386597;background:#f7f9fc}
.quick-report-form footer button{border:1px solid #2468bd;color:#fff;background:#2468bd;box-shadow:0 4px 12px rgba(36,104,189,.16);cursor:pointer}
.quick-report-completed{padding:16px;border:1px solid #cfe9dd;border-radius:10px;color:#197253;background:#eef9f4;text-align:center}
.quick-report-completed strong{font-size:12px}.quick-report-completed p{margin:5px 0 0;font-size:10px}.quick-report-completed a{height:33px;display:inline-flex;align-items:center;margin-top:11px;padding:0 12px;border:1px solid #b9ddcd;border-radius:8px;color:#176b4e;background:#fff;font-size:10px;font-weight:650}
@media(max-width:560px){.quick-report-body{padding:13px}.quick-report-card>header{padding:14px}.quick-report-fields{grid-template-columns:1fr}.quick-report-form footer{margin:3px -13px -13px;padding:12px 13px;flex-wrap:wrap}.quick-report-form footer a{margin-right:0}.quick-report-form footer button{margin-left:auto}}
/* Compact anchored quick-report popover */
.quick-report-dialog{position:fixed;z-index:1000;isolation:isolate;inset:auto;width:min(400px,calc(100vw - 16px));max-height:calc(100vh - 16px);margin:0;border-radius:12px;box-shadow:0 16px 42px rgba(13,38,70,.2)}
.quick-report-dialog::backdrop{background:transparent;backdrop-filter:none}
.quick-report-card{max-height:inherit;overflow:auto;border-radius:12px}
.quick-report-card>header{align-items:center;padding:10px 12px 9px}
.quick-report-card .eyebrow{font-size:8px}.quick-report-card h2{margin-top:2px;font-size:15px}
.quick-report-close{width:26px;height:26px;border-radius:7px;font-size:17px}
.quick-report-body{padding:10px 12px 12px}
.quick-report-schedule{margin-bottom:8px;padding:7px 9px;border-radius:8px}
.quick-report-schedule span{font-size:8.5px}.quick-report-schedule strong{margin-top:2px;font-size:10.5px}.quick-report-schedule small{margin-top:2px;font-size:8.5px}
.quick-report-latest{margin-bottom:9px;padding:8px 9px;border:1px solid #dce8f5;border-radius:8px;background:#f3f8fe}
.quick-report-latest[hidden]{display:none!important}
.quick-report-latest>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.quick-report-latest span{color:#31669f;font-size:9px;font-weight:750}.quick-report-latest small{color:#8291a4;font-size:8.5px}
.quick-report-latest p{margin:5px 0 0;color:#40546d;font-size:10.5px;line-height:1.45;white-space:pre-wrap}
.quick-report-form{gap:8px}.quick-report-form textarea{min-height:68px;padding:8px 9px;font-size:10.5px}
.quick-report-form label>span:first-child{margin-bottom:4px;font-size:9.5px}
.quick-report-presets{gap:4px}.quick-report-presets button{padding:4px 7px;font-size:8.5px}
.quick-report-fields{grid-template-columns:1fr;gap:7px}.quick-progress{height:34px}.quick-finish{padding:6px 8px}.quick-finish b{font-size:9.5px}.quick-finish small{font-size:8px}
.quick-report-form footer{margin:2px -12px -12px;padding:9px 12px}.quick-report-form footer a,.quick-report-form footer button{height:31px;padding:0 10px;font-size:9.5px}
.quick-report-completed{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;text-align:left}.quick-report-completed strong{font-size:10px}.quick-report-completed a{height:29px;flex:none;margin-top:0;padding:0 9px;font-size:9px}
@media(max-width:440px){.quick-report-dialog{width:calc(100vw - 12px)}.quick-report-fields{grid-template-columns:1fr}.quick-report-form footer{flex-wrap:nowrap}.quick-report-form footer a,.quick-report-form footer button{padding:0 8px}}

/* Quick report read mode */
.quick-report-view{margin-bottom:9px;padding:9px 10px;border:1px solid #dce8f5;border-radius:9px;background:#f6f9fd}
.quick-report-view.is-empty{border-color:#f1d8bf;background:#fff3e9}
.quick-report-view.is-empty .quick-report-view-content p{color:#c96b25}
.quick-report-view.is-final{border-color:#ccebdd;background:#eaf8f2}
.quick-report-view.is-final .quick-report-view-content p{color:#17845a}
.quick-report-view[hidden],.quick-report-form[hidden]{display:none!important}
.quick-report-view-content{display:flex;align-items:flex-start;gap:8px}
.quick-report-view-content p{min-width:0;flex:1;margin:0;color:#344a64;font-size:11px;line-height:1.5;white-space:pre-wrap}
.quick-report-view-content button{width:27px;height:27px;flex:none;display:grid;place-items:center;padding:0;border:1px solid #cbdcf1;border-radius:7px;color:#2865ad;background:#fff;cursor:pointer;font-size:14px;transition:background .15s ease,border-color .15s ease}
.quick-report-view-content button:hover{border-color:#9fbee5;background:#edf5ff}

/* Management screens */
.manage-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:18px}.manage-heading>div>span{display:block;margin-bottom:6px;color:#3765b3;font-size:9px;font-weight:800;letter-spacing:.14em}.manage-heading h1{margin:0;color:#172842;font-size:var(--page-title-size);letter-spacing:-.35px}.manage-heading p{margin:6px 0 0;color:#738096;font-size:11px}.manage-primary{height:38px;display:flex;align-items:center;gap:7px;padding:0 14px;border-radius:6px;color:#fff;background:#2769bd;box-shadow:0 5px 14px rgba(39,105,189,.18);font-size:10px;font-weight:750}.manage-primary:hover{background:#1d5aa5}.manage-primary b{font-size:17px;font-weight:400}
.manage-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.manage-stats article{min-height:94px;display:flex;align-items:center;gap:13px;padding:16px 17px;border:1px solid #e2e7ef;border-radius:9px;background:#fff;box-shadow:0 3px 12px rgba(32,56,91,.04)}.manage-stats article>i{width:42px;height:42px;display:grid;flex:none;place-items:center;border-radius:8px;font-size:18px;font-style:normal;font-weight:700}.manage-stats article>i .ui-icon{width:21px;height:21px}.manage-stats small,.manage-stats strong,.manage-stats em{display:block}.manage-stats small{color:#748197;font-size:9px;font-weight:650}.manage-stats strong{margin-top:3px;color:#1b2d47;font-size:22px}.manage-stats em{margin-top:4px;color:#8a96a7;font-size:8px;font-style:normal}.manage-stats .blue>i{color:#2769bd;background:#e9f2ff}.manage-stats .green>i{color:#15815b;background:#e9f8f1}.manage-stats .purple>i{color:#7149b6;background:#f1ebfb}.manage-stats .orange>i{color:#c87924;background:#fff2e5}
.manage-panel{margin-bottom:20px;overflow:hidden;border:1px solid #dde4ed;border-radius:9px;background:#fff;box-shadow:0 4px 16px rgba(36,62,99,.04)}.manage-panel-head{min-height:59px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 15px;border-bottom:1px solid #e7ebf1}.manage-panel-head>div:first-child strong,.manage-panel-head>div:first-child small{display:block}.manage-panel-head>div:first-child strong{color:#263951;font-size:12px}.manage-panel-head>div:first-child small{margin-top:4px;color:#8b96a7;font-size:8.5px}.manage-filters{display:flex;align-items:center;gap:8px}.manage-filters select{height:31px;min-width:145px;padding:0 28px 0 9px;border:1px solid #d5dde8;border-radius:5px;color:#526176;background:#fff;font-size:9px}.manage-filters label,.manage-search{height:31px;display:flex;align-items:center;gap:6px;padding:0 8px;border:1px solid #d5dde8;border-radius:5px;color:#78869a;background:#fff}.manage-filters input,.manage-search input{width:190px;border:0;outline:0;color:#34445b;background:transparent;font-size:9px}.manage-filters>button{height:31px;padding:0 11px;border:0;border-radius:5px;color:#fff;background:#3765b3;font-size:9px;font-weight:700}
.manage-table-wrap,.permission-wrap{overflow-x:auto}.manage-table{width:100%;min-width:940px;border-collapse:collapse}.manage-table th{height:38px;padding:0 13px;border-bottom:1px solid #dfe5ed;color:#68768a;background:#f5f7fa;text-align:left;font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.045em}.manage-table td{height:57px;padding:8px 13px;border-bottom:1px solid #edf0f4;color:#405168;font-size:9.5px}.manage-table tbody tr:hover{background:#f8fbff}.manage-table th:last-child,.manage-table td:last-child{width:120px;text-align:right}.manage-table tbody tr:last-child td{border-bottom:0}
.user-cell,.entity-cell{display:flex;align-items:center;gap:9px}.user-cell>i{width:32px;height:32px;display:grid;flex:none;place-items:center;border-radius:50%;color:#245eaa;background:#e6f0ff;font-size:9px;font-style:normal;font-weight:800}.user-cell strong,.user-cell small{display:block}.user-cell strong,.entity-cell strong{color:#2c3f58;font-size:10px}.user-cell small{margin-top:3px;color:#8793a5;font-size:8px}.entity-cell>i{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;color:#2c6abc;background:#eaf2fd}.entity-cell>i .ui-icon{width:15px;height:15px}.entity-cell.source>i{color:#7149b6;background:#f1ebfb}.role-chip,.code-chip,.source-code,.voltage-chip,.type-chip{display:inline-flex;padding:4px 7px;border-radius:4px;font-size:8px;font-weight:750}.role-chip{color:#365e91;background:#edf3fa}.code-chip{color:#275c9f;background:#e9f2ff}.source-code{color:#64449b;background:#f0eafa}.voltage-chip{color:#2b679d;background:#eaf5fb}.voltage-chip.v500{color:#b2473d;background:#fff0ed}.voltage-chip.v110{color:#657282;background:#eff2f5}.type-chip{color:#5d6c7f;background:#f0f3f6}
.manage-status{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:8px;font-weight:700}.manage-status i{width:6px;height:6px;border-radius:50%}.manage-status.active{color:#197457}.manage-status.active i{background:#28a979;box-shadow:0 0 0 3px #e5f5ef}.manage-status.inactive{color:#9a5260}.manage-status.inactive i{background:#d26978;box-shadow:0 0 0 3px #faeaed}.manage-actions{display:flex;justify-content:flex-end;gap:4px}.manage-actions form{margin:0}.manage-actions a,.manage-actions button{width:27px;height:27px;display:grid;place-items:center;padding:0;border:1px solid #dfe5ed;border-radius:4px;color:#63748a;background:#fff;font-size:12px;cursor:pointer}.manage-actions a:hover,.manage-actions button:hover{color:#235fa9;background:#edf5ff}.manage-actions button:disabled{opacity:.35;cursor:not-allowed}.manage-empty{padding:44px;color:#7d8999;text-align:center;font-size:10px}
.role-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.role-cards article{min-height:150px;padding:15px;border:1px solid #e0e6ee;border-top:3px solid #3765b3;border-radius:9px;background:#fff;box-shadow:0 3px 12px rgba(32,56,91,.04)}.role-top{display:flex;align-items:center;justify-content:space-between}.role-top>i{width:31px;height:31px;display:grid;place-items:center;border-radius:6px;color:#2e67ad;background:#eaf2fd}.role-top>i .ui-icon{width:17px;height:17px}.role-cards h2{margin:11px 0 0;color:#263a54;font-size:12px}.role-cards p{min-height:31px;margin:5px 0 13px;color:#7a8799;font-size:8.5px;line-height:1.55}.role-cards footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid #edf0f4;color:#8490a1;font-size:8px}.role-cards footer b{color:#3c536f}
.permission-table{width:100%;min-width:920px;border-collapse:collapse;table-layout:fixed}.permission-table th{height:46px;padding:7px 12px;border-right:1px solid #e7ebf0;border-bottom:1px solid #dfe5ed;color:#617086;background:#f5f7fa;text-align:center;font-size:8px}.permission-table th:first-child{width:240px;text-align:left}.permission-table th small{display:block;margin-top:3px;color:#9aa4b2;font-size:7px;font-weight:500}.permission-table td{height:67px;padding:8px 12px;border-right:1px solid #edf0f4;border-bottom:1px solid #edf0f4;text-align:center}.permission-table td:first-child{text-align:left}.permission-table td:first-child strong,.permission-table td:first-child small{display:block}.permission-table td:first-child strong{color:#3b4e68;font-size:9px}.permission-table td:first-child small{margin-top:4px;color:#8793a4;font-size:7.5px;line-height:1.5}.permission-dots{display:flex;justify-content:center;gap:4px}.permission-dots span{width:18px;height:18px;display:grid;place-items:center;border:1px solid #d4dce6;border-radius:3px;color:transparent;background:#fff;font-size:8px}.permission-dots span.checked{border-color:#2f6fbd;color:#fff;background:#2f6fbd}.matrix-edit{display:inline-block;margin-top:5px;color:#336eaf;font-size:7.5px}.matrix-edit:hover{text-decoration:underline}
.manage-form-card{max-width:920px;margin:0 auto;overflow:hidden;border:1px solid #dfe6ee;border-radius:12px;background:#fff;box-shadow:0 5px 20px rgba(36,62,99,.05)}.manage-form-card>header{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;border-bottom:1px solid #e8edf3}.manage-form-card>header span{color:#3765b3;font-size:9px;font-weight:800;letter-spacing:.13em}.manage-form-card h1{margin:5px 0 2px;color:#263a53;font-size:var(--page-title-size)}.manage-form-card>header p{margin:0;color:#8290a2;font-size:9px}.manage-form-card>header a{height:34px;display:flex;align-items:center;padding:0 12px;border:1px solid #d9e2ed;border-radius:6px;color:#476584;background:#f8fafc;font-size:9px;font-weight:650}.manage-form-card form{padding:18px 20px 0}.manage-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.manage-form-grid>label{display:block}.manage-form-grid .wide{grid-column:1/-1}.manage-form-grid label>span,.permission-picker legend{display:block;margin-bottom:6px;color:#5d6d82;font-size:9px;font-weight:700}.manage-form-grid input,.manage-form-grid select,.manage-form-grid textarea{width:100%;min-height:38px;padding:9px 10px;border:1px solid #d8e1ec;border-radius:6px;outline:0;color:#30445d;background:#fff;font:inherit;font-size:10px}.manage-form-grid textarea{resize:vertical}.manage-form-grid input:focus,.manage-form-grid select:focus,.manage-form-grid textarea:focus{border-color:#7198ca;box-shadow:0 0 0 3px rgba(55,101,179,.1)}.manage-form-card form>footer{display:flex;justify-content:flex-end;gap:8px;margin:18px -20px 0;padding:13px 20px;border-top:1px solid #e8edf3;background:#fafbfd}.manage-form-card form>footer a,.manage-form-card form>footer button{height:35px;display:flex;align-items:center;padding:0 13px;border:1px solid #d5deea;border-radius:6px;color:#56677d;background:#fff;font-size:9px;font-weight:700}.manage-form-card form>footer button{border-color:#2868b7;color:#fff;background:#2868b7;cursor:pointer}
.permission-picker{margin:0;padding:0;border:0}.permission-group{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #edf0f4}.permission-group>strong{color:#40546d;font-size:9.5px}.permission-group>div{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.permission-group label{cursor:pointer}.permission-group input{position:absolute;width:1px;height:1px;opacity:0}.permission-group label span{min-height:30px;display:flex;align-items:center;justify-content:center;padding:5px;border:1px solid #d8e1ec;border-radius:5px;color:#68788d;background:#fff;font-size:8px}.permission-group input:checked+span{border-color:#5b8acb;color:#1f5da7;background:#edf5ff}
.permission-scope-note{margin:0;padding:10px 12px;border:1px solid #d8e5f4;border-radius:7px;color:#58708c;background:#f2f7fd;font-size:10px;line-height:1.5}.permission-scope-note b{color:#315f94}
@media(max-width:1100px){.manage-stats,.role-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.manage-heading{align-items:flex-start;flex-direction:column;gap:13px}.manage-primary{width:100%;justify-content:center}.manage-stats,.role-cards{grid-template-columns:1fr}.manage-panel-head{align-items:flex-start;flex-direction:column}.manage-filters{width:100%;flex-wrap:wrap}.manage-filters label{flex:1}.manage-filters input{width:100%}.manage-form-card>header{align-items:flex-start;flex-direction:column}.manage-form-grid{grid-template-columns:1fr}.manage-form-grid .wide{grid-column:auto}.permission-group{grid-template-columns:1fr}.permission-group>div{grid-template-columns:1fr 1fr}}

/* Management readability pass */
.manage-heading>div>span{font-size:11px}.manage-heading h1{font-size:var(--page-title-size)}.manage-heading p{font-size:14px;line-height:1.45}.manage-primary{height:42px;padding:0 17px;font-size:13px}
.manage-stats article{min-height:112px;padding:18px 20px}.manage-stats article>i{width:48px;height:48px;font-size:21px}.manage-stats article>i .ui-icon{width:24px;height:24px}.manage-stats small{font-size:12px}.manage-stats strong{margin-top:5px;font-size:26px}.manage-stats em{margin-top:6px;font-size:10.5px}
.manage-panel-head{min-height:70px;padding:12px 18px}.manage-panel-head>div:first-child strong{font-size:15px}.manage-panel-head>div:first-child small{margin-top:5px;font-size:11px}.manage-filters select{height:38px;min-width:170px;font-size:12px}.manage-filters label,.manage-search{height:38px}.manage-filters input,.manage-search input{width:220px;font-size:12px}.manage-filters>button{height:38px;padding:0 15px;font-size:12px}
.manage-table{min-width:1050px}.manage-table th{height:46px;padding:0 16px;font-size:11px;letter-spacing:.035em}.manage-table td{height:68px;padding:10px 16px;font-size:13px;line-height:1.4}.manage-table th:last-child,.manage-table td:last-child{width:132px}.user-cell>i{width:39px;height:39px;font-size:11px}.user-cell strong,.entity-cell strong{font-size:14px}.user-cell small{margin-top:4px;font-size:11px}.entity-cell>i{width:34px;height:34px}.entity-cell>i .ui-icon{width:18px;height:18px}
.role-chip,.code-chip,.source-code,.voltage-chip,.type-chip{padding:5px 9px;font-size:11px}.manage-status{gap:7px;font-size:11.5px}.manage-status i{width:7px;height:7px}.manage-actions a,.manage-actions button{width:32px;height:32px;font-size:15px}.manage-empty{font-size:13px}
.role-cards article{min-height:180px;padding:18px}.role-top>i{width:38px;height:38px}.role-top>i .ui-icon{width:20px;height:20px}.role-cards h2{margin-top:14px;font-size:16px}.role-cards p{min-height:42px;margin-top:7px;font-size:12px;line-height:1.55}.role-cards footer{font-size:11px}
.permission-table th{height:55px;font-size:11px}.permission-table th small{font-size:9.5px}.permission-table td{height:82px}.permission-table td:first-child strong{font-size:13px}.permission-table td:first-child small{margin-top:6px;font-size:10px}.permission-dots span{width:23px;height:23px;font-size:11px}.matrix-edit{margin-top:8px;font-size:10.5px}
.manage-form-card{max-width:980px}.manage-form-card>header{min-height:102px;padding:18px 24px}.manage-form-card>header span{font-size:11px}.manage-form-card h1{font-size:var(--page-title-size)}.manage-form-card>header p{font-size:11.5px}.manage-form-card>header a{height:39px;padding:0 15px;font-size:12px}.manage-form-card form{padding:22px 24px 0}.manage-form-grid{gap:17px 18px}.manage-form-grid label>span,.permission-picker legend{font-size:12px}.manage-form-grid input,.manage-form-grid select,.manage-form-grid textarea{min-height:44px;padding:10px 12px;font-size:14px}.manage-form-card form>footer{margin-right:-24px;margin-left:-24px;padding:15px 24px}.manage-form-card form>footer a,.manage-form-card form>footer button{height:40px;padding:0 16px;font-size:12px}
.permission-group{grid-template-columns:175px 1fr;padding:13px 0}.permission-group>strong{font-size:12px}.permission-group label span{min-height:38px;font-size:11px}
.unit-code-chip,.count-chip{display:inline-flex;padding:5px 9px;border-radius:5px;font-size:11px;font-weight:750}.unit-code-chip{color:#1f5c9d;background:#e8f2ff}.count-chip{color:#50677f;background:#eef3f7}.entity-cell.unit>i{color:#186f61;background:#e8f7f2}
.locations-table{min-width:1220px}.location-type-chip{display:inline-flex;padding:5px 9px;border-radius:5px;color:#635099;background:#f1edfb;font-size:11px;font-weight:750}.cell-main,.cell-note{display:block}.cell-main{color:#3d5068;font-size:13px}.cell-note{margin-top:4px;color:#8491a2;font-size:10px;line-height:1.35}.coordinate-text{color:#2e648f;font-family:Consolas,monospace;font-size:11px}.cell-muted{color:#9aa5b2;font-size:11px;font-style:italic}
.users-table{min-width:1780px}.job-title{color:#3f536c;font-size:13px}.job-title:empty{color:#9aa5b2}.username-chip{display:inline-flex;padding:5px 8px;border-radius:5px;color:#315f8d;background:#edf4fb;font-family:Consolas,monospace;font-size:12px}.user-contact{color:#2c6198;font-size:12px;white-space:nowrap}.user-contact:hover{text-decoration:underline}.password-mask,.password-note{display:block}.password-mask{color:#40546b;font-size:15px;letter-spacing:1px}.password-note{margin-top:3px;color:#8a96a5;font-size:9.5px}
@media(max-width:720px){.manage-heading h1{font-size:var(--page-title-size)}.manage-heading p{font-size:13px}.manage-table th{font-size:10.5px}.manage-table td{font-size:12.5px}.manage-stats article{min-height:104px}}

/* Compact schedule create/edit form */
.schedule-main-grid>.schedule-picker-grid{grid-column:1/-1}
.schedule-page{max-width:980px;margin:0 auto}.schedule-page .schedule-page-head{min-height:76px;padding:13px 18px}.schedule-page .schedule-page-head h1{margin:3px 0 2px;font-size:var(--page-title-size)}.schedule-page .schedule-page-head p{font-size:10.5px}.schedule-page .schedule-form-compact{padding:14px 18px 18px;background:#f7f9fc}.schedule-page .schedule-main-grid{grid-template-columns:repeat(3,1fr);gap:10px 12px;padding:14px 15px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.schedule-page .form-grid label>span,.schedule-page .catalog-picker legend{margin-bottom:5px;color:#5d6d82;font-size:9.5px;font-weight:700}.schedule-page .form-grid input,.schedule-page .form-grid select,.schedule-page .form-grid textarea{min-height:35px;padding:7px 9px;border-radius:7px;font-size:11px}.schedule-page .form-grid textarea{min-height:58px}.schedule-picker-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-top:2px}.catalog-picker{min-width:0;margin:0;padding:0;border:0}.catalog-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.catalog-options label{position:relative;min-width:0;cursor:pointer}.catalog-options input{position:absolute;width:1px;height:1px;opacity:0}.catalog-options label>span{min-height:38px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:5px 6px;border:1px solid #dce4ee;border-radius:7px;color:#53657b;background:#fbfcfe;text-align:center;transition:.15s ease}.catalog-options label>span b,.catalog-options label>span small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-options label>span b{color:inherit;font-size:9.5px}.catalog-options label>span small{margin-top:2px;color:#8491a2;font-size:7.5px}.catalog-options input:focus-visible+span{outline:2px solid #8eb0da;outline-offset:1px}.catalog-options input:checked+span{border-color:#6f99ce;color:#1f5da7;background:#edf5ff;box-shadow:inset 0 0 0 1px #b7d0ed}.catalog-options input:checked+span small{color:#5279aa}.picker-empty{grid-column:1/-1;margin:0;padding:10px;border:1px dashed #dce4ee;border-radius:7px;color:#8995a5;font-size:9px;text-align:center}.schedule-more{margin-top:10px;overflow:hidden;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.schedule-more>summary{min-height:48px;display:flex;align-items:center;gap:9px;padding:9px 14px;cursor:pointer;list-style:none}.schedule-more>summary::-webkit-details-marker{display:none}.schedule-more>summary>span{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;color:#65778d;background:#eef2f6;font-size:14px}.schedule-more>summary div{flex:1}.schedule-more>summary b,.schedule-more>summary small{display:block}.schedule-more>summary b{color:#3b4d64;font-size:11px}.schedule-more>summary small{margin-top:2px;color:#8a96a6;font-size:8.5px}.schedule-more>summary>i{color:#8391a3;font-style:normal;transition:transform .15s ease}.schedule-more[open]>summary>i{transform:rotate(180deg)}.schedule-more[open]>summary{border-bottom:1px solid #e8edf3}.schedule-extra-grid{grid-template-columns:repeat(2,1fr);gap:10px 12px;padding:12px 14px}.schedule-page .form-actions{margin:14px -18px -18px;padding:12px 18px}.schedule-page .form-actions a,.schedule-page .form-actions button{height:34px;font-size:10.5px}
@media(max-width:900px){.schedule-picker-grid{grid-template-columns:1fr}.schedule-page .schedule-main-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.schedule-page .schedule-form-compact{padding:10px}.schedule-page .schedule-page-head{padding:13px}.schedule-page .schedule-main-grid,.schedule-extra-grid{grid-template-columns:1fr;padding:12px}.catalog-options{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-page .form-actions{margin:12px -10px -10px;padding:11px 10px}}

/* Schedule form readability and compact checkbox pickers */
.schedule-page .schedule-page-head h1{font-size:var(--page-title-size)}.schedule-page .schedule-page-head p{font-size:12px}.schedule-page .form-grid label>span,.schedule-page .catalog-picker legend{font-size:12px}.schedule-page .form-grid input,.schedule-page .form-grid select,.schedule-page .form-grid textarea{font-size:13px}.catalog-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 9px}.catalog-options label{min-height:38px;display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid #dce4ee;border-radius:7px;background:#fbfcfe}.catalog-options input{position:static;width:15px;height:15px;flex:none;opacity:1;accent-color:#2f6fbd}.catalog-options label>span{min-width:0;min-height:0;display:block;flex:1;padding:0;border:0;border-radius:0;background:transparent;text-align:left}.catalog-options label>span b{font-size:12px}.catalog-options label>span small{margin-top:2px;font-size:10px}.catalog-options input:checked+span{border:0;background:transparent;box-shadow:none}.catalog-options label:has(input:checked){border-color:#7da4d3;background:#edf5ff;box-shadow:inset 0 0 0 1px #c4d8ee}.schedule-more>summary b{font-size:13px}.schedule-more>summary small{font-size:10.5px}.schedule-page .form-actions a,.schedule-page .form-actions button{font-size:12px}

/* Compact source/unit cluster and always-visible additional information */
.schedule-page .schedule-picker-grid{grid-template-columns:1fr 1fr;align-items:start}.schedule-page .source-picker .catalog-options,.schedule-page .unit-picker .catalog-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.schedule-page .source-picker .catalog-options label,.schedule-page .unit-picker .catalog-options label{min-height:36px;padding:6px}.schedule-page .source-picker .catalog-options label>span small{display:none}.schedule-more-static>.schedule-more-heading{min-height:52px;display:flex;align-items:center;gap:9px;padding:10px 14px;border-bottom:1px solid #e8edf3}.schedule-more-heading>span{width:25px;height:25px;display:grid;flex:none;place-items:center;border-radius:7px;color:#2e67ad;background:#eaf2fd;font-size:9px;font-weight:800}.schedule-more-heading b,.schedule-more-heading small{display:block}.schedule-more-heading b{color:#3b4d64;font-size:13px}.schedule-more-heading small{margin-top:2px;color:#8a96a6;font-size:10.5px}.schedule-more-static .schedule-extra-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1050px){.schedule-more-static .schedule-extra-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.schedule-page .schedule-picker-grid,.schedule-more-static .schedule-extra-grid{grid-template-columns:1fr}.schedule-page .source-picker .catalog-options,.schedule-page .unit-picker .catalog-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
.schedule-page input[readonly]{color:#42617f;background:#eef4fa;cursor:not-allowed}

/* Keep unit codes on the same surface as their checkbox cards */
.schedule-page .unit-picker .catalog-options label>span{background:transparent}

/* Work registration and approval workflow */
.registration-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.registration-heading>div>span{display:block;margin-bottom:6px;color:#3765b3;font-size:11px;font-weight:800;letter-spacing:.13em}.registration-heading h1{margin:0;color:#172842;font-size:var(--page-title-size)}.registration-heading p{margin:6px 0 0;color:#738096;font-size:13px}.registration-primary{height:40px;display:flex;align-items:center;padding:0 15px;border-radius:8px;color:#fff;background:#2769bd;box-shadow:0 5px 14px rgba(39,105,189,.18);font-size:12px;font-weight:750}.registration-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:13px}.registration-stats article{min-height:84px;display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #e1e7ef;border-radius:9px;background:#fff}.registration-stats article>i{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;color:#3765b3;background:#eaf2fd;font-size:16px;font-style:normal;font-weight:800}.registration-stats .pending>i{color:#a56b16;background:#fff3dd}.registration-stats .approved>i{color:#18745a;background:#e6f7f0}.registration-stats .rejected>i{color:#a44c59;background:#fbecef}.registration-stats small,.registration-stats strong{display:block}.registration-stats small{color:#77859a;font-size:11px}.registration-stats strong{margin-top:3px;color:#20344f;font-size:23px}.registration-panel{overflow:hidden;border:1px solid #dde5ef;border-radius:10px;background:#fff;box-shadow:0 4px 16px rgba(36,62,99,.04)}.registration-panel-head{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 15px;border-bottom:1px solid #e7ebf1}.registration-panel-head strong,.registration-panel-head small{display:block}.registration-panel-head strong{color:#2b3e57;font-size:14px}.registration-panel-head small{margin-top:4px;color:#8894a5;font-size:10.5px}.registration-filters{display:flex;align-items:center;gap:7px}.registration-filters select,.registration-filters label,.registration-filters button{height:35px;border:1px solid #d7e0eb;border-radius:7px;background:#fff;font-size:11px}.registration-filters select{min-width:130px;padding:0 28px 0 9px;color:#53647a}.registration-filters label{display:flex;align-items:center;gap:6px;padding:0 9px;color:#8190a4}.registration-filters input{width:175px;border:0;outline:0;background:transparent;font-size:11px}.registration-filters button{padding:0 12px;border-color:#3765b3;color:#fff;background:#3765b3;font-weight:700}.registration-table-wrap{overflow-x:auto}.registration-table{width:100%;min-width:1180px;border-collapse:collapse}.registration-table th{height:40px;padding:0 12px;border-bottom:1px solid #dfe5ed;color:#68768a;background:#f5f7fa;text-align:left;font-size:10px;font-weight:750;text-transform:uppercase}.registration-table td{padding:11px 12px;border-bottom:1px solid #edf0f4;color:#405168;font-size:12px;vertical-align:top}.registration-table tbody tr:last-child td{border-bottom:0}.registration-table td>strong,.registration-table td>small{display:block}.registration-table td>small{margin-top:4px;color:#8491a2;font-size:10px}.registration-code{color:#2868b2;font-family:Consolas,monospace}.registration-work{min-width:310px}.registration-work>strong{color:#2d4663;text-transform:uppercase}.registration-work p{max-width:420px;margin:5px 0;color:#53657a;line-height:1.45}.registration-work>div{display:flex;gap:4px;flex-wrap:wrap}.registration-unit{display:inline-flex;padding:5px 8px;border-radius:5px;color:#1f5e9f;background:#e9f2ff;font-weight:750}.registration-status{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:11px;font-weight:700}.registration-status i{width:7px;height:7px;border-radius:50%}.registration-status.pending{color:#986514}.registration-status.pending i{background:#d69a35}.registration-status.approved{color:#18745a}.registration-status.approved i{background:#28a979}.registration-status.rejected{color:#a14d5b}.registration-status.rejected i{background:#d26878}.registration-actions{display:flex;gap:5px}.registration-actions form{margin:0}.registration-actions button,.registration-actions a.edit{width:31px;height:31px;display:grid;place-items:center;border:1px solid;border-radius:6px;background:#fff;cursor:pointer;font-size:15px;font-weight:800}.registration-actions a.edit{border-color:#bdd1ea;color:#2865ad;background:#f1f6fc;text-decoration:none}.registration-actions .approve{border-color:#9fd3bf;color:#18745a;background:#edfaf4}.registration-actions .reject{border-color:#e2b3bb;color:#a14d5b;background:#fff3f5}.registration-actions .delete{border-color:#d9e0e8;color:#758397}.registration-schedule-link{display:inline-flex;padding:6px 9px;border:1px solid #bdd1ea;border-radius:6px;color:#2865ad;background:#f1f6fc;font-size:10px;font-weight:700}.registration-empty{padding:45px!important;color:#8591a2!important;text-align:center}.registration-form-page .registration-source-picker .catalog-options{grid-template-columns:repeat(5,minmax(0,1fr))}.registration-submit-note{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;border:1px solid #d9e5f3;border-radius:8px;color:#54708f;background:#f0f6fd;font-size:11px}.registration-submit-note i{width:19px;height:19px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#4f83be;font-style:normal;font-weight:800}
@media(max-width:1100px){.registration-stats{grid-template-columns:repeat(2,1fr)}.registration-panel-head{align-items:flex-start;flex-direction:column}.registration-filters{width:100%;flex-wrap:wrap}.registration-form-page .registration-source-picker .catalog-options{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.registration-heading{align-items:flex-start;flex-direction:column}.registration-primary{width:100%;justify-content:center}.registration-stats{grid-template-columns:1fr}.registration-filters select,.registration-filters label{flex:1}.registration-filters input{width:100%}.registration-form-page .registration-source-picker .catalog-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Registration source picker must span the complete form row */
.registration-form-page .registration-source-picker{grid-column:1/-1}.registration-form-page .registration-source-picker .catalog-options{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:720px){.registration-form-page .registration-source-picker .catalog-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Station Excel import */
.locations-table .code-chip:empty::after{content:'—';color:#8491a2}
.locations-table .cell-main:empty::after{content:'Chưa cập nhật';color:#9aa5b2;font-size:11px;font-style:italic;font-weight:400}.station-import-panel{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:13px;padding:12px 16px;border:1px solid #dce6f2;border-radius:10px;background:#f7faff}.station-import-panel>div{display:flex;align-items:center;gap:11px}.station-import-panel>div>i{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;color:#2868b2;background:#e6f0fc;font-size:18px;font-style:normal;font-weight:800}.station-import-panel strong,.station-import-panel small{display:block}.station-import-panel strong{color:#2b405a;font-size:13px}.station-import-panel small{margin-top:4px;color:#7e8da1;font-size:10px}.station-import-panel form{display:flex;align-items:center;gap:7px}.station-import-panel form label{height:36px;display:flex;align-items:center;padding:0 11px;border:1px dashed #a9bfd9;border-radius:7px;color:#486786;background:#fff;cursor:pointer;font-size:11px;font-weight:700}.station-import-panel input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.station-import-panel button,.station-import-panel a{height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border-radius:7px;font-size:11px;font-weight:750}.station-import-panel button{border:1px solid #2f6fbd;color:#fff;background:#2f6fbd;cursor:pointer}.station-import-panel a{border:1px solid #b9cce2;color:#32669f;background:#fff}@media(max-width:900px){.station-import-panel{align-items:flex-start;flex-direction:column}.station-import-panel form{width:100%;flex-wrap:wrap}}@media(max-width:560px){.station-import-panel form label,.station-import-panel form button,.station-import-panel form a{width:100%}}
.station-import-panel .import-file-picker{max-width:230px}.import-file-name{display:block!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.station-import-panel .import-file-picker.has-file{border-style:solid;border-color:#73b694;color:#176f4c;background:#eef9f3}.station-import-panel .import-file-picker.has-file:before{content:'✓';margin-right:7px;color:#18825a;font-weight:900}@media(max-width:560px){.station-import-panel .import-file-picker{max-width:none}}

/* Authentication */
.account-menu{position:relative}.account-menu>summary{list-style:none;cursor:pointer}.account-menu>summary::-webkit-details-marker{display:none}.account-dropdown{position:absolute;z-index:50;top:calc(100% + 9px);right:0;width:225px;overflow:hidden;border:1px solid #dbe3ed;border-radius:9px;background:#fff;box-shadow:0 12px 30px rgba(27,48,76,.16)}.account-dropdown:before{position:absolute;top:-5px;right:20px;width:9px;height:9px;border-top:1px solid #dbe3ed;border-left:1px solid #dbe3ed;background:#fff;content:'';transform:rotate(45deg)}.account-dropdown header{padding:12px 14px;border-bottom:1px solid #edf1f5}.account-dropdown header strong,.account-dropdown header small{display:block}.account-dropdown header strong{color:#2b4059;font-size:12px}.account-dropdown header small{margin-top:3px;color:#8693a4;font-size:9.5px}.account-dropdown form{margin:0;padding:6px}.account-dropdown form button{width:100%;height:34px;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:0 9px;border:0;border-radius:6px;color:#a54d58;background:#fff;font-size:11px;font-weight:700;cursor:pointer}.account-dropdown form button:hover{background:#fff1f3}.account-dropdown form button span{font-size:15px}.topbar-login{height:34px;display:inline-flex;align-items:center;padding:0 13px;border:1px solid #aac4e2;border-radius:7px;color:#2765aa;background:#f2f7fd;font-size:11px;font-weight:750}
.auth-page{min-height:100vh;margin:0;color:#31465f;background:linear-gradient(135deg,#eaf2fb 0,#f7f9fc 48%,#e8f1fa 100%);font-family:Arial,sans-serif}.auth-page:before,.auth-page:after{position:fixed;border-radius:50%;content:'';filter:blur(2px);pointer-events:none}.auth-page:before{top:-180px;left:-130px;width:440px;height:440px;background:rgba(42,103,178,.11)}.auth-page:after{right:-150px;bottom:-210px;width:500px;height:500px;background:rgba(25,125,109,.09)}.auth-shell{position:relative;z-index:1;width:min(900px,calc(100% - 36px));min-height:540px;display:grid;grid-template-columns:1.05fr .95fr;margin:6vh auto;overflow:hidden;border:1px solid rgba(205,218,233,.9);border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(38,67,102,.16)}.auth-intro{position:relative;display:flex;justify-content:space-between;flex-direction:column;padding:38px;color:#fff;background:linear-gradient(145deg,#183f75,#246bad 64%,#258277)}.auth-intro:after{position:absolute;right:-75px;bottom:55px;width:210px;height:210px;border:35px solid rgba(255,255,255,.07);border-radius:50%;content:''}.auth-logo{display:flex;align-items:center;gap:10px}.auth-logo>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:#174c82;background:#fff;font-size:17px}.auth-logo strong{font-size:20px;letter-spacing:.04em}.auth-logo em{color:#ffcb45;font-style:normal}.auth-intro>div:nth-child(2){position:relative;z-index:1}.auth-intro small{font-size:10px;font-weight:800;letter-spacing:.16em;opacity:.72}.auth-intro h1{margin:12px 0 14px;font-size:31px;line-height:1.2}.auth-intro p{max-width:360px;margin:0;color:rgba(255,255,255,.78);font-size:12px;line-height:1.65}.auth-intro footer{font-size:9.5px;opacity:.62}.auth-card{display:flex;justify-content:center;flex-direction:column;padding:45px}.auth-card-head>span{color:#2d6bb2;font-size:9.5px;font-weight:850;letter-spacing:.14em}.auth-card-head h2{margin:8px 0 6px;color:#223b57;font-size:23px}.auth-card-head p{margin:0;color:#8793a3;font-size:11px}.auth-notice{display:flex;flex-direction:column;gap:3px;margin-top:16px;padding:10px 12px;border-radius:7px;font-size:10px}.auth-notice.error{border:1px solid #efc7cd;color:#a34f5a;background:#fff2f4}.auth-notice.success{border:1px solid #b9ddcf;color:#26715d;background:#eefaf5}.auth-form{display:flex;flex-direction:column;gap:14px;margin-top:23px}.auth-form label>span{display:block;margin-bottom:6px;color:#52657b;font-size:10.5px;font-weight:750}.auth-form input[type=text],.auth-form input[type=password]{width:100%;height:42px;padding:0 12px;border:1px solid #d6dfea;border-radius:7px;outline:0;color:#334a64;background:#fbfcfe;font-size:12px}.auth-form input:focus{border-color:#6f9dcc;box-shadow:0 0 0 3px rgba(63,123,189,.11)}.auth-form .auth-remember{display:flex;align-items:center;gap:7px}.auth-form .auth-remember input{width:14px;height:14px;accent-color:#2e6db6}.auth-form .auth-remember span{margin:0;color:#748297;font-size:10px;font-weight:500}.auth-form>button{height:42px;border:0;border-radius:7px;color:#fff;background:#2869b4;box-shadow:0 7px 16px rgba(40,105,180,.2);font-size:11.5px;font-weight:800;cursor:pointer}.auth-form>button:hover{background:#205c9e}.auth-help{margin:17px 0 0;color:#99a3b0;font-size:9.5px;line-height:1.5;text-align:center}@media(max-width:720px){.auth-shell{grid-template-columns:1fr;margin:20px auto}.auth-intro{min-height:250px;padding:28px}.auth-intro h1{font-size:26px}.auth-card{padding:32px 25px}.account-dropdown{right:-4px}}

/* EVNNPT login brand pass */
.auth-page{--evn-blue:#0054a6;--evn-blue-deep:#003b7a;--evn-blue-light:#0075bf;--evn-orange:#f58220;--evn-red:#ed1c24;background:linear-gradient(135deg,#e8f1fa 0%,#f8fafc 48%,#edf3f8 100%)}.auth-page:before{border-radius:0;background:repeating-linear-gradient(135deg,rgba(0,84,166,.045) 0,rgba(0,84,166,.045) 1px,transparent 1px,transparent 25px);filter:none;inset:0;width:auto;height:auto}.auth-page:after{right:-170px;bottom:-220px;width:520px;height:520px;border:80px solid rgba(0,84,166,.04);background:transparent;filter:none}.auth-shell{min-height:550px;border-color:#cbdbea;border-radius:13px;box-shadow:0 24px 65px rgba(0,59,122,.18)}.auth-shell:before{position:absolute;z-index:4;top:0;right:0;left:0;height:5px;background:linear-gradient(90deg,var(--evn-orange) 0 22%,var(--evn-red) 22% 28%,var(--evn-blue-light) 28% 100%);content:''}.auth-intro{padding:41px 39px 35px;background:linear-gradient(145deg,var(--evn-blue-deep) 0%,var(--evn-blue) 62%,#006db4 100%)}.auth-intro:before{position:absolute;right:-80px;bottom:-75px;width:330px;height:240px;border:1px solid rgba(255,255,255,.11);content:'';transform:rotate(-18deg)}.auth-intro:after{right:-58px;bottom:35px;width:230px;height:230px;border:42px solid rgba(255,255,255,.055)}.auth-logo{position:relative;z-index:2;gap:12px}.auth-logo .auth-logo-mark{width:43px;height:43px;border:2px solid #fff;border-radius:50%;color:var(--evn-orange);background:transparent;box-shadow:inset 0 0 0 4px rgba(255,255,255,.1);font-size:21px}.auth-logo>div strong,.auth-logo>div small{display:block}.auth-logo>div strong{font-size:24px;font-weight:850;letter-spacing:.015em}.auth-logo>div strong em{margin-left:2px;color:var(--evn-orange)}.auth-logo>div small{margin-top:3px;color:rgba(255,255,255,.72);font-size:6.8px;letter-spacing:.08em;opacity:1}.auth-intro>div:nth-child(2)>small{color:#9fd5ff;opacity:1}.auth-intro h1{margin:13px 0 15px;font-size:32px;letter-spacing:-.02em}.auth-intro p{color:rgba(255,255,255,.77)}.auth-principles{display:flex;gap:15px;margin-top:22px}.auth-principles span{display:flex;align-items:center;gap:6px;color:rgba(255,255,255,.78);font-size:9.5px;font-weight:700}.auth-principles i{width:6px;height:6px;border-radius:50%;background:var(--evn-orange);box-shadow:0 0 0 3px rgba(245,130,32,.15)}.auth-intro footer{position:relative;z-index:2;display:flex;align-items:center;gap:8px;opacity:.72}.auth-intro footer b{color:var(--evn-orange);font-size:10px}.auth-intro footer span{padding-left:8px;border-left:1px solid rgba(255,255,255,.35)}.auth-card{position:relative;padding:47px;background:linear-gradient(180deg,#fff,#fbfdff)}.auth-card:after{position:absolute;right:0;bottom:0;width:80px;height:4px;background:var(--evn-orange);content:''}.auth-card-head>span{color:var(--evn-blue);letter-spacing:.16em}.auth-card-head h2{color:#123a63}.auth-form input[type=text],.auth-form input[type=password]{border-color:#ccd9e6;border-radius:6px;background:#fff}.auth-form input:focus{border-color:var(--evn-blue-light);box-shadow:0 0 0 3px rgba(0,117,191,.1)}.auth-form .auth-remember input{accent-color:var(--evn-blue)}.auth-form>button{border-radius:6px;background:linear-gradient(90deg,var(--evn-blue),var(--evn-blue-light));box-shadow:0 8px 17px rgba(0,84,166,.22)}.auth-form>button:hover{background:linear-gradient(90deg,var(--evn-blue-deep),var(--evn-blue))}.auth-help{color:#8896a5}@media(max-width:720px){.auth-intro{min-height:275px}.auth-principles{margin-top:17px}.auth-card{padding:34px 26px}}

.auth-logo.official-brand{width:min(100%,310px);display:inline-flex;align-self:flex-start;padding:10px 13px;border:1px solid rgba(255,255,255,.46);border-radius:8px;background:#fff;box-shadow:0 8px 20px rgba(0,42,90,.18)}.auth-logo.official-brand img{width:100%;height:auto;display:block;object-fit:contain}@media(max-width:720px){.auth-logo.official-brand{width:min(100%,285px);padding:9px 11px}}

.auth-logo.official-brand{width:min(100%,370px);padding:9px 11px}.auth-logo.official-brand img{aspect-ratio:4432/1240}@media(max-width:720px){.auth-logo.official-brand{width:min(100%,325px)}}

.auth-logo.official-brand{width:min(100%,350px);transform:translate(-18px,-19px)}.auth-logo.official-brand img{aspect-ratio:3103/868}@media(max-width:720px){.auth-logo.official-brand{width:min(100%,310px);transform:translate(-7px,-8px)}}

/* Flat login surfaces: no decorative shapes or stripes */
.auth-page{background:#eef3f8}.auth-page:before,.auth-page:after,.auth-intro:before,.auth-intro:after{display:none}.auth-intro{background:var(--evn-blue)}.auth-card{background:#fff}

.auth-core-values-compact{margin:16px 0 17px;padding-left:14px;border-left:3px solid var(--evn-orange)}.auth-core-values-compact>span{display:block;margin-bottom:7px;color:#9fd5ff;font-size:9px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.auth-core-values-compact>p{max-width:365px;display:flex;align-items:center;flex-wrap:wrap;gap:7px 9px;margin:0;color:#fff;font-size:16px;line-height:1.35}.auth-core-values-compact b{font-weight:750}.auth-core-values-compact i{width:4px;height:4px;flex:0 0 4px;border-radius:50%;background:var(--evn-orange)}@media(max-width:720px){.auth-core-values-compact{margin:13px 0 15px;padding-left:12px}.auth-core-values-compact>p{gap:6px 8px;font-size:14px}}

/* Compact single-card login */
.auth-shell.auth-shell-single{width:min(490px,calc(100% - 32px));min-height:0;display:block;margin:7vh auto;border-radius:12px}.auth-card.auth-card-single{padding:38px 44px 30px}.auth-card.auth-card-single:after{display:none}.auth-shell-single .auth-logo.official-brand{width:min(100%,400px);display:block;margin:0 auto 27px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}.auth-shell-single .auth-logo.official-brand img{width:100%;height:auto;aspect-ratio:3103/868}.auth-card-single .auth-card-head{text-align:center}.auth-card-single .auth-card-head h2{margin-top:7px}.auth-card-single .auth-form{margin-top:21px}.auth-system-name{margin:20px 0 0;padding-top:15px;border-top:1px solid #edf1f5;color:#a0a9b4;font-size:8px;font-weight:750;letter-spacing:.1em;text-align:center}@media(max-width:720px){.auth-shell.auth-shell-single{margin:24px auto}.auth-card.auth-card-single{padding:30px 25px 24px}.auth-shell-single .auth-logo.official-brand{width:100%;margin-bottom:23px;transform:none}}

/* D-Office-inspired simplified login */
.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px 16px;box-sizing:border-box;font-family:Helvetica,"Helvetica Neue",Arial,sans-serif}.auth-shell.auth-shell-single{width:min(575px,100%);min-height:760px;margin:0 auto;border-color:#d8e0ea;border-radius:8px;box-shadow:0 14px 36px rgba(31,55,82,.14)}.auth-card.auth-card-single{min-height:760px;padding:44px 48px 36px}.auth-shell-single .auth-logo.official-brand{width:min(100%,480px);margin-bottom:28px}.auth-card-single .auth-card-head h2{margin:0;color:#1e4394;font-size:20px;font-weight:800}.auth-card-single .auth-card-head p{margin-top:7px;color:#7c8795;font-size:12px}.auth-card-single .auth-notice{width:100%;max-width:384px;margin-right:auto;margin-left:auto}.auth-card-single .auth-form{width:100%;max-width:384px;gap:16px;margin:25px auto 0}.auth-card-single .auth-form label>span{margin-bottom:7px;color:#435368;font-size:12px;font-weight:650}.auth-card-single .auth-form input[type=text],.auth-card-single .auth-form input[type=password]{height:46px;border-color:#cdd6e1;border-radius:5px;font-family:inherit;font-size:14px}.auth-card-single .auth-form>button{width:min(220px,100%);height:44px;align-self:center;margin-top:3px;border-radius:5px;font-family:inherit;font-size:13px;box-shadow:none}.auth-card-single .auth-help{max-width:384px;margin:18px auto 0;font-size:10.5px}.auth-card-single .auth-system-name{max-width:384px;margin:18px auto 0;font-size:8.5px}@media(max-width:720px){.auth-page{padding:16px}.auth-shell.auth-shell-single{min-height:0;margin:0 auto}.auth-card.auth-card-single{min-height:0;padding:28px 24px 24px}.auth-shell-single .auth-logo.official-brand{margin-bottom:20px}}

/* Portrait login tuned for the compact EVNNPT logo */
.auth-shell.auth-shell-single{width:min(540px,100%);min-height:720px}.auth-card.auth-card-single{min-height:720px;padding:38px 60px 32px}.auth-shell-single .auth-logo.official-brand{width:170px;margin:0 auto 12px}.auth-shell-single .auth-logo.official-brand img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.auth-unit-title{margin:0 0 29px;color:rgb(22,67,151);font-family:Helvetica,"Helvetica Neue",Arial,sans-serif;font-size:20px;font-weight:800;line-height:1.25;text-align:center}.auth-card-single .auth-notice{font-size:13px}.auth-card-single .auth-form{gap:18px;margin-top:0}.auth-card-single .auth-form label>span{margin-bottom:8px;font-size:15px;font-weight:700}.auth-card-single .auth-form input[type=text],.auth-card-single .auth-form input[type=password]{height:50px;padding:0 14px;font-size:16px}.auth-card-single .auth-form .auth-remember{gap:9px}.auth-card-single .auth-form .auth-remember input{width:16px;height:16px}.auth-card-single .auth-form .auth-remember span{font-size:14px}.auth-card-single .auth-form>button{height:46px;font-size:15px}.auth-card-single .auth-help{font-size:13px;line-height:1.55}.auth-card-single .auth-system-name{font-size:10px;letter-spacing:.12em}@media(max-width:720px){.auth-shell.auth-shell-single,.auth-card.auth-card-single{min-height:0}.auth-card.auth-card-single{padding:28px 24px 24px}.auth-shell-single .auth-logo.official-brand{width:145px;margin-bottom:10px}.auth-unit-title{margin-bottom:24px;font-size:18px}.auth-card-single .auth-form label>span{font-size:14px}.auth-card-single .auth-form input[type=text],.auth-card-single .auth-form input[type=password]{height:48px;font-size:15px}}

/* D-Office typography: Inter Variable with a dedicated Vietnamese subset */
@font-face{font-family:"Inter var";font-style:normal;font-display:swap;font-weight:100 900;src:url("../fonts/inter/inter-vietnamese-wght-normal.woff2") format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Inter var";font-style:normal;font-display:swap;font-weight:100 900;src:url("../fonts/inter/inter-latin-ext-wght-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter var";font-style:normal;font-display:swap;font-weight:100 900;src:url("../fonts/inter/inter-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--font-ui:"Inter var",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
html,body{font-family:var(--font-ui)!important;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body *,body *::before,body *::after{font-family:inherit!important}

/* Searchable work-location field powered by Tom Select */
.schedule-location-field .ts-wrapper{width:100%}.schedule-location-field .ts-control{min-height:42px;align-items:center;padding:9px 38px 9px 12px;border:1px solid #d8e1ec;border-radius:7px;background:#fff;color:#30445d;box-shadow:none;font-size:12px;line-height:1.45}.schedule-location-field .ts-wrapper.focus .ts-control{border-color:#7198ca;box-shadow:0 0 0 3px rgba(55,101,179,.1)}.schedule-location-field .ts-wrapper.single .ts-control:after{right:14px;border-width:5px 4px 0;border-color:#708096 transparent transparent}.schedule-location-field .ts-wrapper.single.dropdown-active .ts-control:after{border-width:0 4px 5px;border-color:transparent transparent #3765b3}.schedule-location-field .ts-dropdown{margin-top:5px;overflow:hidden;border:1px solid #d8e1ec;border-radius:8px;background:#fff;box-shadow:0 12px 28px rgba(36,62,99,.14);font-size:12px}.schedule-location-field .ts-dropdown .dropdown-input-wrap{padding:8px;border-bottom:1px solid #edf1f5;background:#f8fafc}.schedule-location-field .ts-dropdown .dropdown-input{height:36px;padding:0 10px;border:1px solid #d8e1ec;border-radius:6px;box-shadow:none;color:#30445d}.schedule-location-field .ts-dropdown .option{padding:10px 12px;color:#405168;line-height:1.4}.schedule-location-field .ts-dropdown .active{color:#174f91;background:#edf5ff}.schedule-location-field .ts-dropdown .selected{font-weight:650}.schedule-location-field .ts-wrapper .clear-button{right:32px;color:#8a96a5;font-size:20px}.schedule-location-field .ts-wrapper .clear-button:hover{color:#c33}

/* One work description per selected source */
.source-work-editor{overflow:hidden;border:1px solid #dce5ef;border-radius:9px;background:#f9fbfd}.source-work-editor>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid #e7edf4;background:#f3f7fb}.source-work-editor>header strong{color:#334a64;font-size:12px}.source-work-editor>header small{color:#7d8b9d;font-size:10px}.source-work-empty{margin:0;padding:18px;color:#8a97a8;font-size:11px;text-align:center}.source-work-list{display:grid;gap:10px;padding:11px}.source-work-editor:not(.has-selection) .source-work-list{display:none}.source-work-item{display:grid;grid-template-columns:155px minmax(0,1fr);align-items:start;gap:11px}.source-work-item>span{min-height:54px;display:flex;justify-content:center;flex-direction:column;padding:8px 10px;border:1px solid #d5e2f2;border-radius:7px;color:#245c9d;background:#edf5ff}.source-work-item>span b{font-size:11px}.source-work-item>span small{margin-top:3px;color:#6f8197;font-size:9px}.source-work-item textarea{width:100%;min-height:58px;padding:9px 11px;border:1px solid #d8e1ec;border-radius:7px;color:#30445d;background:#fff;font-size:12px;line-height:1.45;resize:vertical;outline:0}.source-work-item textarea:focus{border-color:#7198ca;box-shadow:0 0 0 3px rgba(55,101,179,.1)}.work-content-soft>span.work-items-soft:last-child{min-width:0;display:flex;flex:1;flex-direction:column;gap:4px;-webkit-line-clamp:unset}.work-item-soft{min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:start;gap:7px}.work-item-soft .source-tag-soft{justify-self:start}.work-item-content{white-space:pre-wrap;overflow-wrap:anywhere}.registration-work-items{display:flex!important;flex-direction:column;gap:5px;margin-top:6px}.registration-work-items p{display:grid;grid-template-columns:48px minmax(0,1fr);gap:6px;margin:0!important}.registration-work-items b{padding:3px 5px;border-radius:4px;color:#315f91;background:#edf4fb;font-size:9px}.registration-work-items p>span{min-width:0;grid-column:2;color:#53657a;font-size:12px;font-weight:400;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.detail-work-items{margin-top:16px;padding:15px;border:1px solid #dfe6ee;border-radius:10px;background:#fff}.detail-work-items header{margin-bottom:9px}.detail-work-items article{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;padding:9px 0;border-top:1px solid #edf1f5}.detail-work-items article:first-of-type{border-top:0}.detail-work-items article>b{align-self:start;padding:4px 7px;border-radius:5px;color:#245eaa;background:#eaf2fd;font-size:10px;text-align:center}.detail-work-items article>p{margin:2px 0;color:#405168;font-size:12px;line-height:1.5}@media(max-width:720px){.source-work-editor>header{align-items:flex-start;flex-direction:column}.source-work-item{grid-template-columns:1fr}.work-item-soft{grid-template-columns:46px minmax(0,1fr)}}

/* Repeatable source + work-content rows on the schedule form */
.schedule-page .schedule-main-grid>.wide{grid-column:1/-1}.schedule-work-builder{overflow:hidden;border:1px solid #dce5ef;border-radius:10px;background:#f9fbfd}.schedule-work-builder>header{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 13px;border-bottom:1px solid #e5ebf3;background:#f3f7fb}.schedule-work-builder>header strong,.schedule-work-builder>header small{display:block}.schedule-work-builder>header strong{color:#314860;font-size:13px}.schedule-work-builder>header small{margin-top:3px;color:#7f8c9d;font-size:10px}.schedule-work-builder>header button{height:34px;padding:0 12px;border:1px solid #2769bd;border-radius:7px;color:#fff;background:#2769bd;font-size:10px;font-weight:750;cursor:pointer;white-space:nowrap}.schedule-work-builder>header button:hover{background:#205ba3}.schedule-work-list{display:grid;gap:9px;padding:11px}.schedule-work-row{display:grid;grid-template-columns:28px minmax(190px,230px) minmax(300px,1fr) 32px;align-items:end;gap:9px;padding:10px;border:1px solid #e0e7f0;border-radius:8px;background:#fff}.work-row-number{width:25px;height:25px;display:grid;place-items:center;align-self:center;border-radius:50%;color:#2865ad;background:#eaf2fd;font-size:10px;font-weight:800}.schedule-work-row label>span{display:block;margin-bottom:6px;color:#5d6d82;font-size:10px;font-weight:700}.schedule-work-row select,.schedule-work-row textarea{width:100%;border:1px solid #d6e0eb;border-radius:7px;outline:0;color:#30445d;background:#fff;font-size:12px}.schedule-work-row select{height:42px;padding:0 32px 0 10px}.schedule-work-row textarea{min-height:42px;padding:10px 11px;line-height:1.45;resize:vertical}.schedule-work-row select:focus,.schedule-work-row textarea:focus{border-color:#7198ca;box-shadow:0 0 0 3px rgba(55,101,179,.1)}.remove-work-row{width:30px;height:30px;display:grid;place-items:center;margin-bottom:6px;border:1px solid #e3c9cd;border-radius:7px;color:#b64b58;background:#fff5f6;font-size:17px;cursor:pointer}.remove-work-row:hover{border-color:#d99ba4;background:#ffedef}.remove-work-row:disabled{visibility:hidden}.schedule-unit-picker .unit-options{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.schedule-work-row{grid-template-columns:28px minmax(160px,210px) minmax(220px,1fr) 32px}}@media(max-width:720px){.schedule-page .schedule-main-grid>.wide{grid-column:auto}.schedule-work-builder>header{align-items:flex-start;flex-direction:column}.schedule-work-builder>header button{width:100%}.schedule-work-row{grid-template-columns:28px minmax(0,1fr) 32px;align-items:start}.schedule-work-row>label{grid-column:2}.schedule-work-row>.work-row-content{grid-column:2}.schedule-work-row>.work-row-number{grid-column:1;grid-row:1/3;margin-top:24px}.schedule-work-row>.remove-work-row{grid-column:3;grid-row:1/3;margin-top:24px}.schedule-unit-picker .unit-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Two-stage unit and staff assignment workflow */
.assignment-link{display:inline-flex;align-items:center;margin-top:7px;padding:4px 8px;border:1px solid #bfd2eb;border-radius:5px;color:#245f9f;background:#f4f8fd;font-size:9px;font-weight:750;text-decoration:none}.assignment-link:hover{border-color:#7fa7d5;background:#eaf3ff}.assignment-form{display:grid;gap:15px;margin-top:18px}.assignment-section{overflow:hidden;border:1px solid #dce5ef;border-radius:10px;background:#f9fbfd}.assignment-section>header{padding:13px 15px;border-bottom:1px solid #e4eaf2;background:#f2f6fb}.assignment-section>header>div{display:flex;align-items:center;gap:11px}.assignment-section h2,.assignment-section p{margin:0}.assignment-section h2{color:#2d4661;font-size:14px}.assignment-section p{margin-top:3px;color:#7a899b;font-size:10px}.assignment-step{width:27px;height:27px;display:grid;place-items:center;flex:0 0 27px;border-radius:50%;color:#fff;background:#2868b3;font-size:11px;font-weight:800}.assignment-unit-grid,.assignment-staff-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:13px}.assignment-unit-option,.assignment-staff-option{position:relative;cursor:pointer}.assignment-unit-option input,.assignment-staff-option input{position:absolute;opacity:0}.assignment-unit-option>span,.assignment-staff-option>span{min-height:56px;display:flex;justify-content:center;flex-direction:column;padding:9px 11px;border:1px solid #d8e2ed;border-radius:8px;background:#fff}.assignment-unit-option b,.assignment-staff-option b{color:#334a64;font-size:11px}.assignment-unit-option small,.assignment-staff-option small{margin-top:4px;color:#7c8999;font-size:9px}.assignment-unit-option input:checked+span,.assignment-staff-option input:checked+span{border-color:#3975bd;background:#eaf3ff;box-shadow:0 0 0 2px rgba(57,117,189,.1)}.assignment-unit-option input:checked+span b,.assignment-staff-option input:checked+span b{color:#17589e}.assignment-unit-card{margin:12px;border:1px solid #dde5ee;border-radius:9px;background:#fff}.assignment-unit-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #e8edf3}.assignment-unit-card>header>div{display:flex;align-items:center;gap:9px}.assignment-unit-card>header b{padding:4px 7px;border-radius:5px;color:#fff;background:#3770b3;font-size:10px}.assignment-unit-card>header span{color:#364b64;font-size:11px;font-weight:700}.assignment-unit-card>header small{color:#8290a0;font-size:9px}.assignment-readonly-list{display:flex;flex-wrap:wrap;gap:8px;padding:12px}.assignment-readonly-list>span{padding:7px 9px;border-radius:6px;background:#f1f4f8}.assignment-readonly-list b,.assignment-readonly-list small{display:block}.assignment-readonly-list b{color:#3d5067;font-size:10px}.assignment-readonly-list small{margin-top:2px;color:#8995a3;font-size:8px}.assignment-empty{padding:14px!important;text-align:center}.assignment-form>.form-actions{margin-top:0}@media(max-width:900px){.assignment-unit-grid,.assignment-staff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.assignment-unit-grid,.assignment-staff-grid{grid-template-columns:1fr}.assignment-unit-card>header{align-items:flex-start;flex-direction:column}}

/* Native calendar picker with a fixed Vietnamese date display */
.date-picker-dmy{position:relative}.date-picker-dmy>[data-date-display]{width:100%;padding-right:44px}.date-picker-dmy>[data-date-native]{position:absolute;z-index:2;top:0;right:0;width:42px;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer}.date-picker-icon{position:absolute;right:12px;top:50%;width:18px;height:18px;display:grid;place-items:center;transform:translateY(-50%);color:#617895;pointer-events:none}.date-picker-icon svg{width:17px;height:17px}.date-picker-dmy:focus-within .date-picker-icon{color:#2769bd}

/* Flat work list, larger work content and compact unit selection */
.schedule-work-builder{overflow:visible;border:0;border-radius:0;background:transparent}.schedule-work-builder>header{min-height:0;padding:2px 0 10px;border-bottom:1px solid #dfe7f1;background:transparent}.schedule-work-list{gap:0;padding:0}.schedule-work-row{grid-template-columns:28px minmax(110px,140px) minmax(0,1fr) 32px;align-items:start;padding:14px 0;border:0;border-bottom:1px solid #e7edf4;border-radius:0;background:transparent}.schedule-work-row:last-child{padding-bottom:4px;border-bottom:0}.schedule-work-row textarea{min-height:118px;font-size:13px}.schedule-work-row>.work-row-number{margin-top:31px}.schedule-work-row>.remove-work-row{margin:31px 0 0}.schedule-page .schedule-unit-picker .unit-options{display:flex;flex-wrap:wrap;gap:7px}.schedule-page .schedule-unit-picker .catalog-options label{min-width:78px;min-height:34px;flex:0 0 auto;padding:6px 10px}.schedule-page .schedule-unit-picker .catalog-options label>span{flex:0 1 auto}.schedule-page .schedule-unit-picker .catalog-options label>span b{font-size:11px}@media(max-width:720px){.schedule-work-builder>header{align-items:flex-start;padding-bottom:12px}.schedule-work-row{grid-template-columns:28px minmax(0,1fr) 32px}.schedule-work-row>.work-row-number,.schedule-work-row>.remove-work-row{margin-top:24px}.schedule-page .schedule-unit-picker .catalog-options label{width:calc(50% - 4px);min-width:0}}
.schedule-work-row>.work-row-number{align-self:start}

/* Compact inline multi-select for schedule assignment */
.day-section-soft.assignment-open{z-index:40}.schedule-row-soft.assignment-open{z-index:41}.assignment-popover{position:relative;align-self:flex-start}.assignment-popover .assignment-link{cursor:pointer}.assignment-popover.is-open{z-index:42}.assignment-popover-panel{position:absolute;z-index:43;top:calc(100% + 6px);left:0;width:330px;overflow:hidden;border:1px solid #d7e1ed;border-radius:10px;background:#fff;box-shadow:0 16px 38px rgba(29,54,86,.2);text-align:left}.assignment-popover-panel[hidden]{display:none}.assignment-popover-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:11px 12px;border-bottom:1px solid #e8edf3;background:#f6f9fd}.assignment-popover-panel>header strong,.assignment-popover-panel>header small{display:block}.assignment-popover-panel>header strong{color:#2d4661;font-size:11px}.assignment-popover-panel>header small{max-width:255px;margin-top:3px;overflow:hidden;color:#7a899b;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.assignment-popover-panel>header button{width:23px;height:23px;display:grid;place-items:center;flex:0 0 23px;border:0;border-radius:5px;color:#7a899b;background:transparent;font-size:17px;cursor:pointer}.assignment-popover-panel>header button:hover{color:#b43d49;background:#fff0f1}.assignment-popover-units{margin:0;padding:10px 12px;border:0;border-bottom:1px solid #edf1f5}.assignment-popover-units legend,.assignment-popover-label>span{padding:0;color:#53657b;font-size:9.5px;font-weight:750}.assignment-popover-units>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.assignment-popover-units label{cursor:pointer}.assignment-popover-units input{position:absolute;opacity:0}.assignment-popover-units label>span{display:block;padding:5px 8px;border:1px solid #d8e2ee;border-radius:6px;color:#51647b;background:#fff;font-size:9px;font-weight:750}.assignment-popover-units input:checked+span{border-color:#5a8bc8;color:#1f5da6;background:#eaf3ff;box-shadow:0 0 0 1px rgba(48,109,181,.08)}.assignment-popover-staff{padding:10px 12px}.assignment-popover-label{display:flex;align-items:center;justify-content:space-between}.assignment-popover-label>b{color:#2868b3;font-size:8.5px}.assignment-search{height:32px;display:flex;align-items:center;gap:6px;margin-top:7px;padding:0 9px;border:1px solid #d9e2ec;border-radius:6px;background:#fff}.assignment-search>span{padding:0;color:#8593a4;background:transparent;font-size:13px}.assignment-search input{width:100%;min-width:0;border:0;outline:0;color:#344960;background:transparent;font-size:10px}.assignment-options{max-height:245px;overflow-y:auto;margin-top:7px;padding-right:2px}.assignment-option-group>strong{position:sticky;z-index:1;top:0;display:block;padding:5px 6px;color:#62748a;background:#f4f7fb;font-size:8.5px}.assignment-option-group>label{display:flex;align-items:center;gap:8px;padding:7px 6px;border-bottom:1px solid #f0f3f7;cursor:pointer}.assignment-option-group>label:hover{background:#f7faff}.assignment-option-group>label[hidden]{display:none}.assignment-option-group input{width:14px;height:14px;flex:0 0 14px;accent-color:#2d6fbd}.assignment-option-group label>span{min-width:0;display:block;padding:0;color:inherit;background:transparent}.assignment-option-group b,.assignment-option-group small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-option-group b{color:#354a62;font-size:10px}.assignment-option-group small{margin-top:2px;color:#8a96a5;font-size:8.5px}.assignment-option-group>p{margin:0;padding:10px 6px;color:#8a96a5;font-size:9px}.assignment-popover-panel>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-top:1px solid #e8edf3;background:#fbfcfe}.assignment-popover-panel>footer a{color:#6b7c90;font-size:8.5px;text-decoration:none}.assignment-popover-panel>footer a:hover{color:#245f9f}.assignment-popover-panel>footer button{height:30px;padding:0 11px;border:0;border-radius:6px;color:#fff;background:#2868b3;font-size:9px;font-weight:750;cursor:pointer}.assignment-popover-panel>footer button:hover{background:#205a9d}@media(max-width:900px){.assignment-popover-panel{position:fixed;top:50%;left:50%;width:min(360px,calc(100vw - 24px));transform:translate(-50%,-50%)}}

.schedule-heading-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.schedule-heading-actions .soft-button{height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 17px;border-radius:6px;font-size:13px;font-weight:650}@media(max-width:720px){.schedule-heading-actions{width:100%}.schedule-heading-actions .soft-button{display:none}}

/* Production schedule: notes immediately before status. */
.week-board-soft .board-column-head,.week-board-soft .schedule-row-soft{grid-template-columns:96px minmax(300px,1fr) 200px 165px 130px 220px 32px}
.schedule-notes-cell{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.6;color:#62748a}
@media(max-width:1500px){.week-board-soft .board-column-head,.week-board-soft .schedule-row-soft{grid-template-columns:80px minmax(240px,1fr) 175px 145px 120px 210px 30px}}
@media(max-width:1100px){.week-board-soft .board-column-head,.week-board-soft .schedule-row-soft,.week-board-soft .day-heading-soft{min-width:1120px}}
.schedule-notes-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;line-height:1.5}
.telegram-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;font-size:14px;color:#61718a}.telegram-pagination>div{display:flex;gap:8px;flex-wrap:wrap}.telegram-pagination>div>a,.telegram-pagination>div>span{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border:1px solid #dce3ed;border-radius:6px;line-height:20px;text-decoration:none}.telegram-pagination a{color:#2769bd;background:#fff}.telegram-pagination a:hover{background:#eef5ff}.telegram-pagination a:focus-visible{outline:2px solid #2769bd;outline-offset:2px}.telegram-pagination [aria-disabled="true"]{color:#8895a7;background:#f4f6f9}
.telegram-panel-body{padding:16px 18px;color:#526176;font-size:13px;line-height:1.55}.telegram-panel-body>p{margin:0 0 9px}.telegram-panel-body a{color:#2769bd;font-weight:650}.telegram-panel-body code{padding:2px 5px;border-radius:4px;color:#40546b;background:#f0f3f7;font-size:12px}.telegram-guide{margin:14px 0;border:1px solid #dfe6ee;border-radius:7px;background:#fafbfd}.telegram-guide>summary{min-height:43px;display:flex;align-items:center;justify-content:space-between;padding:9px 12px;color:#40536b;cursor:pointer;list-style:none;font-size:13px}.telegram-guide>summary::-webkit-details-marker{display:none}.telegram-guide>summary span{color:#8391a3;transition:transform .15s ease}.telegram-guide[open]>summary{border-bottom:1px solid #e5eaf0}.telegram-guide[open]>summary span{transform:rotate(180deg)}.telegram-guide ol{margin:0;padding:13px 18px 13px 38px;color:#607086;font-size:12px;line-height:1.65}.telegram-guide li+li{margin-top:5px}.telegram-note{margin-bottom:0!important;padding:10px 12px;border-radius:6px;color:#58708c;background:#f2f7fd;font-size:12px}.telegram-history .manage-table{min-width:860px}.telegram-history .telegram-pagination{margin:0;padding:13px 18px;border-top:1px solid #e7ebf1;font-size:12px}.telegram-history .telegram-pagination>div>a,.telegram-history .telegram-pagination>div>span{min-height:32px;padding:5px 10px}
:root{--page-title-size:21px}

/* Functional shortcuts in the blue application bar. */
.top-tools{gap:2px}.top-tool-button{position:relative;width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;color:#fff;background:transparent;cursor:pointer;list-style:none}.top-tool-button::-webkit-details-marker{display:none}.top-tool-button:hover,.top-tool-button:focus-visible,.top-help-menu[open]>.top-tool-button{outline:none;background:rgba(255,255,255,.14)}.top-tool-button .ui-icon{width:19px;height:19px;stroke-width:1.8}.top-tool-button>i{position:absolute;top:1px;right:0;min-width:15px;width:auto;height:15px;padding:0 4px;display:grid;place-items:center;border:2px solid var(--blue);border-radius:10px;color:#fff;background:#e54343;font-size:8px;font-style:normal;font-weight:800;line-height:1}.top-tool-button>i[hidden],.top-tool-button>.ui-icon[hidden],[data-fullscreen-toggle][hidden]{display:none!important}.top-help-menu{position:relative}.top-help-popover{position:absolute;z-index:55;top:calc(100% + 9px);right:-42px;width:270px;padding:7px;border:1px solid #dbe3ed;border-radius:10px;color:#2b4059;background:#fff;box-shadow:0 14px 34px rgba(27,48,76,.2)}.top-help-popover:before{position:absolute;top:-5px;right:54px;width:9px;height:9px;border-top:1px solid #dbe3ed;border-left:1px solid #dbe3ed;background:#fff;content:'';transform:rotate(45deg)}.top-help-popover header{padding:7px 8px 10px;border-bottom:1px solid #edf1f5}.top-help-popover header strong,.top-help-popover header small{display:block}.top-help-popover header strong{font-size:12px}.top-help-popover header small{margin-top:3px;color:#8794a5;font-size:9px}.top-help-popover>a{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:7px}.top-help-popover>a:hover{background:#f0f5fc}.top-help-popover>a>.ui-icon{width:18px;height:18px;flex:0 0 18px;color:#3972b4}.top-help-popover>a span,.top-help-popover>a b,.top-help-popover>a small{display:block}.top-help-popover>a b{font-size:10.5px}.top-help-popover>a small{margin-top:2px;color:#7c8999;font-size:8.5px}.top-help-popover p{margin:4px 0 0;padding:8px;border-top:1px solid #edf1f5;color:#7c8999;font-size:8.5px}.top-help-popover kbd{padding:1px 4px;border:1px solid #d6deea;border-bottom-width:2px;border-radius:4px;color:#52657b;background:#f7f9fc;font-size:8px}@media(max-width:720px){.top-help-menu,[data-fullscreen-toggle]{display:none}.top-tools{margin-left:auto}.top-tools .top-tool-button{display:grid}}
.top-notification-menu{position:relative}.top-notification-menu[open]>.top-tool-button{outline:none;background:rgba(255,255,255,.14)}.top-notification-popover{position:absolute;z-index:55;top:calc(100% + 9px);right:-8px;width:310px;padding:7px;border:1px solid #dbe3ed;border-radius:10px;color:#2b4059;background:#fff;box-shadow:0 14px 34px rgba(27,48,76,.2)}.top-notification-popover:before{position:absolute;top:-5px;right:20px;width:9px;height:9px;border-top:1px solid #dbe3ed;border-left:1px solid #dbe3ed;background:#fff;content:"";transform:rotate(45deg)}.top-notification-popover>header{padding:8px 9px 11px;border-bottom:1px solid #edf1f5}.top-notification-popover>header strong,.top-notification-popover>header small{display:block}.top-notification-popover>header strong{font-size:12px}.top-notification-popover>header small{margin-top:3px;color:#8794a5;font-size:9px}.top-notification-popover>a{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 8px;border-radius:7px}.top-notification-popover>a:hover{background:#f0f5fc}.top-notification-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;color:#2769bd;background:#eaf3ff}.top-notification-icon.registration{color:#8b5a13;background:#fff2d8}.top-notification-icon .ui-icon{width:17px;height:17px}.top-notification-popover>a>span:nth-child(2) b,.top-notification-popover>a>span:nth-child(2) small{display:block}.top-notification-popover>a>span:nth-child(2) b{font-size:10.5px}.top-notification-popover>a>span:nth-child(2) small{margin-top:3px;color:#7c8999;font-size:8.5px}.top-notification-item-count{min-width:26px;height:22px;display:grid;place-items:center;padding:0 6px;border-radius:11px;color:#fff;background:#d94747;font-size:9px;font-weight:800}@media(max-width:720px){.top-notification-popover{position:fixed;top:57px;right:8px;left:8px;width:auto}.top-notification-popover:before{display:none}}
.account-menu>.user-menu{min-height:36px;padding:0 8px 0 18px;border-radius:8px;transition:background .15s ease}.account-menu>.user-menu:hover,.account-menu>.user-menu:focus-visible,.account-menu[open]>.user-menu{outline:none;background:rgba(255,255,255,.14)}.account-menu>.user-menu>.account-chevron{position:static;width:18px;height:18px;display:grid;place-items:center;border-radius:0;background:transparent;font-size:16px;font-style:normal;line-height:1;transition:transform .15s ease}.account-menu[open]>.user-menu>.account-chevron{transform:rotate(180deg)}.account-dropdown{z-index:55;top:calc(100% + 9px);right:0;width:270px;overflow:visible;padding:7px;border:1px solid #dbe3ed;border-radius:10px;color:#2b4059;background:#fff;box-shadow:0 14px 34px rgba(27,48,76,.2)}.account-dropdown:before{right:20px}.account-dropdown header{padding:8px 9px 11px}.account-dropdown header strong{font-size:12px}.account-dropdown header small{margin-top:3px;color:#8794a5;font-size:9px}.account-dropdown form{padding:5px 0 0}.account-dropdown form button{height:auto;min-height:38px;gap:10px;padding:9px 8px;border-radius:7px;font-size:10.5px}.account-dropdown form button:hover{background:#fff1f3}.account-dropdown form button span{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:#a54d58;background:#fff0f2;font-size:16px}@media(max-width:720px){.account-dropdown{position:fixed;top:57px;right:8px;left:8px;width:auto}.account-dropdown:before{display:none}.account-menu>.user-menu{padding:0 5px}.account-menu>.user-menu>.account-chevron{width:20px}}
.office-workspace h1{line-height:1.3;font-weight:700;letter-spacing:-.3px}

.assignment-option-group>label.assignment-person-busy{background:#fff3cd}.assignment-option-group>label.assignment-person-busy:hover{background:#ffe69c}.assignment-option-group .assignment-busy-note{color:#805b00;font-weight:600}

.registration-confirm{width:min(440px,calc(100vw - 32px));padding:24px;border:1px solid #dde5ef;border-radius:14px;color:#20344f;background:#fff;box-shadow:0 24px 70px rgba(13,38,70,.24)}
.registration-confirm::backdrop{background:rgba(17,36,62,.4);backdrop-filter:blur(2px)}
.registration-confirm h2{margin:0 0 12px;font-size:18px}.registration-confirm p{margin:0;color:#53657a;font-size:14px;line-height:1.6}
.registration-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.registration-confirm-actions button{min-height:38px;padding:0 16px;border:1px solid #d7e0eb;border-radius:7px;color:#53647a;background:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.registration-confirm-actions [data-confirm-submit]{border-color:#18745a;color:#fff;background:#18745a}.registration-confirm[data-action="danger"] [data-confirm-submit]{border-color:#a14d5b;background:#a14d5b}.registration-confirm-actions button:focus-visible{outline:2px solid #2865ad;outline-offset:3px}
.registration-unit-approval{width:min(620px,calc(100vw - 32px))}.registration-unit-approval>form>p{margin-bottom:14px}.registration-staff-picker{max-height:320px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;overflow:auto;padding:10px;border:1px solid #dde5ef;border-radius:9px;background:#f8fafc}.registration-staff-picker label{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid #e2e8f0;border-radius:7px;background:#fff;cursor:pointer;font-size:12px}.registration-staff-picker label>span,.registration-staff-picker label b,.registration-staff-picker label small{display:block}.registration-staff-picker label small{margin-top:3px;color:#7a8798;font-size:9px;line-height:1.35}.registration-staff-picker label.registration-staff-busy{border-color:#e8c56e;background:#fff7df}.registration-staff-picker label.registration-staff-busy small{color:#8a5d0b;font-weight:700}.registration-staff-picker input{accent-color:#18745a}.registration-review-note{display:block;margin-top:14px}.registration-review-note>span{display:block;margin-bottom:6px;color:#53657a;font-size:12px;font-weight:700}.registration-review-note textarea{width:100%;padding:9px;border:1px solid #d7e0eb;border-radius:7px;resize:vertical}.registration-actions .registration-confirm-actions button{width:auto;height:auto;display:block}.registration-confirm-actions [data-unit-approval-submit]{border-color:#18745a;color:#fff;background:#18745a}.registration-assigned-staff{max-width:220px;color:#18745a!important;line-height:1.4}

.office-rail nav .rail-icon{position:relative}.registration-pending-badge{position:absolute;top:-9px;right:-17px;min-width:19px;height:19px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid #fff;border-radius:12px;background:#dc3545;color:#fff;font-size:10px;font-weight:800;line-height:1;box-shadow:0 2px 5px rgba(140,30,40,.15)}.registration-pending-badge[hidden]{display:none}

.registration-status.unit_approved{color:#2865ad}.registration-status.unit_approved i{background:#4387d4}
.registration-form-assignment{padding:12px;border:1px solid #dce6f0;border-radius:9px;background:#f8fbfe}.registration-form-assignment[hidden]{display:none}.registration-form-assignment>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.registration-form-assignment>header strong,.registration-form-assignment>header small{display:block}.registration-form-assignment>header strong{color:#314860;font-size:12px}.registration-form-assignment>header small{margin-top:3px;color:#77879a;font-size:9px}.registration-form-assignment>header>span{color:#52749b;font-size:9px;font-weight:700}.registration-form-assignment .registration-staff-picker{max-height:260px}.schedule-page .form-grid .registration-form-assignment input[type="checkbox"]{width:16px;height:16px;min-height:0;flex:0 0 16px;margin:0;padding:0;border-radius:3px}

.week-board-soft .schedule-location-group > .location-date-range,.week-board-soft .schedule-location-group > .work-content-soft{padding-inline-start:18px}

.schedule-row-soft>.schedule-notes-empty{align-self:center}.schedule-notes-empty>.schedule-notes-preview{font-size:12px;line-height:1.3}

/* Registration custom location */
.schedule-location-field .registration-custom-location-note{display:block;margin-top:6px;padding:7px 9px;border:1px solid #f0d59a;border-radius:7px;color:#805b14;background:#fff8e8;font-size:9.5px;line-height:1.45}.schedule-location-field .registration-custom-location-note[hidden]{display:none}

/* Administration flyout */
.rail-admin{position:relative}.rail-admin>summary{min-height:76px;display:grid;place-items:center;padding:10px 4px;color:#25374e;text-align:center;cursor:pointer;list-style:none;position:relative}.rail-admin>summary::-webkit-details-marker{display:none}.rail-admin>summary:hover,.rail-admin>summary.active,.rail-admin[open]>summary{color:var(--dark);background:#eef0f3}.rail-admin>summary.active:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--blue)}.rail-admin>summary:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}.rail-admin-menu{position:absolute;left:100%;bottom:0;width:190px;max-height:calc(100dvh - 80px);overflow-y:auto;padding:6px;background:#fff;border:1px solid #d9dde3;border-radius:10px;box-shadow:0 8px 24px #17223526}.office-rail nav .rail-admin-menu a{display:flex;justify-content:flex-start;gap:12px;min-height:44px;padding:10px 12px;border-radius:6px;text-align:left}.office-rail nav .rail-admin-menu .rail-icon{width:20px;height:20px;margin:0;flex-shrink:0}.office-rail nav .rail-admin-menu small{font-size:13px}

/* Mobile application shell and content layouts. */
.office-rail-backdrop{display:none}
@media(max-width:720px){
html,body{max-width:100%;overflow-x:hidden}
.office-topbar{height:56px;padding:0 10px;gap:8px}
.office-brand{min-width:0;gap:8px}.office-brand>div{min-width:0}.office-brand strong{font-size:15px}.office-brand small{font-size:8.5px;white-space:nowrap}
.hamburger{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;padding:0;border:0;border-radius:8px;color:#fff;background:rgba(255,255,255,.12);cursor:pointer}
.office-rail{display:block;z-index:70;width:min(310px,86vw);overflow-y:auto;overscroll-behavior:contain;border-right:0;box-shadow:12px 0 36px rgba(13,34,61,.25);transform:translateX(-105%);transition:transform .22s ease}
.mobile-nav-open .office-rail{transform:translateX(0)}
.office-rail-backdrop{position:fixed;z-index:65;inset:0;display:block;border:0;background:rgba(13,34,61,.42);opacity:0;pointer-events:none;transition:opacity .22s ease}
.mobile-nav-open .office-rail-backdrop{opacity:1;pointer-events:auto}
.rail-home{height:56px;place-items:center start;padding:0 18px}.rail-home:after{margin-left:12px;content:"Đội Tự Động Hóa 1";font-size:13px;font-weight:750}
.office-rail nav{padding:8px}.office-rail nav>a,.rail-admin>summary{min-height:48px;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:8px 12px;border-radius:8px;text-align:left}
.office-rail nav .rail-icon,.rail-admin>summary .rail-icon{width:21px;height:21px;flex:0 0 21px;margin:0}.office-rail nav small{font-size:13px}
.rail-admin-menu{position:static;width:auto;max-height:none;margin:3px 0 6px 18px;padding:4px;border:0;border-left:2px solid #dce6f2;border-radius:0;box-shadow:none}
.office-rail nav .rail-admin-menu a{min-height:42px}
.office-workspace{width:100%;margin-left:0;padding:68px 10px 24px}
.manage-heading,.registration-heading{margin-bottom:12px}.manage-heading h1,.registration-heading h1{font-size:20px}
.manage-heading p,.registration-heading p{line-height:1.45}
.schedule-heading-actions{overflow:visible}
.toolbar-row-soft{padding:10px}.toolbar-row-soft .week-title{width:100%;min-width:0;justify-content:center;flex-wrap:wrap}.week-jump-menu{max-width:calc(100% - 76px)}
.table-filters-soft{display:grid;grid-template-columns:1fr 1fr;gap:7px}.table-filters-soft label{grid-column:1/-1;min-width:0}.table-filters-soft select{width:100%;min-width:0}
.summary-strip-soft{scroll-snap-type:x proximity;padding-bottom:3px}.summary-strip-soft span{scroll-snap-align:start}
.week-board-soft{overflow:visible!important;border:0;background:transparent;box-shadow:none}
.week-board-soft .board-column-head{display:none}
.week-board-soft .day-heading-soft{position:static;min-width:0!important;margin:12px 0 7px;padding:7px 10px;border:1px solid var(--pa-border);border-radius:10px;background:#fff!important}
.day-rows-soft{display:grid;gap:8px;padding:0}.day-rows-soft:before{display:none}
.week-board-soft .schedule-row-soft{min-width:0!important;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;margin:0;padding:4px 8px 8px;border:1px solid var(--pa-border);border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(16,42,67,.05)}
.schedule-row-soft:hover{border-radius:12px;transform:none}
.schedule-cell{padding:9px 7px;font-size:11px}.time-cell{grid-column:1;grid-row:1;min-height:62px;border-right:1px solid #edf1f5}.time-cell:before{display:none}.time-cell strong,.time-cell small{margin-left:0!important;padding-left:0;text-align:center}
.work-cell{grid-column:2;grid-row:1;min-width:0}.work-location-soft{font-size:12px}.work-content-soft{font-size:11px}
.unit-cell,.vehicle-cell,.schedule-notes-cell,.status-cell{grid-column:1/-1;display:grid;grid-template-columns:82px minmax(0,1fr);align-items:start;gap:6px;padding:8px 7px;border-top:1px solid #edf1f5}
.unit-cell:before,.vehicle-cell:before,.schedule-notes-cell:before,.status-cell:before{color:#7a899b;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.unit-cell:before{content:"Đơn vị"}.vehicle-cell:before{content:"Phương tiện"}.schedule-notes-cell:before{content:"Ghi chú"}.status-cell:before{content:"Trạng thái"}
.unit-cell>*,.vehicle-cell>*,.schedule-notes-cell>*,.status-cell>*{min-width:0}.schedule-notes-preview{-webkit-line-clamp:3}
.row-actions-soft{grid-column:1/-1;display:flex;justify-content:flex-end;padding:5px 7px 0;border-top:1px solid #edf1f5}.more-button{width:auto;min-width:68px;padding:0 10px;border-color:#dce4ef;background:#f7f9fc}.action-menu{top:38px;right:7px;width:150px}.action-menu a,.action-menu button{padding:10px;font-size:11px}
.registration-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.registration-stats article{min-width:0}
.registration-panel{overflow:visible}.registration-panel-head{padding:13px}.registration-filters{display:grid;grid-template-columns:1fr 1fr}.registration-filters select,.registration-filters label,.registration-filters button{width:100%;min-width:0}.registration-filters label{grid-column:1/-1}.registration-filters button{grid-column:1/-1}
.registration-table-wrap{overflow:visible}.registration-table{min-width:0;border-collapse:separate;border-spacing:0 9px}.registration-table thead{display:none}.registration-table tbody,.registration-table tr,.registration-table td{display:block;width:100%}
.registration-table tr{overflow:hidden;border:1px solid #dfe6ef;border-radius:11px;background:#fff;box-shadow:0 3px 12px rgba(25,52,82,.05)}
.registration-table td{display:grid;grid-template-columns:94px minmax(0,1fr);gap:8px;padding:9px 11px;border-bottom:1px solid #edf1f5;font-size:12px}.registration-table td:last-child{border-bottom:0}.registration-table td:before{color:#7b899a;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.registration-table td:nth-child(1):before{content:"Mã phiếu"}.registration-table td:nth-child(2):before{content:"Thời gian"}.registration-table td:nth-child(3):before{content:"Công việc"}.registration-table td:nth-child(4):before{content:"Đơn vị"}.registration-table td:nth-child(5):before{content:"Phương tiện"}.registration-table td:nth-child(6):before{content:"Trạng thái"}.registration-table td:nth-child(7):before{content:"Thao tác"}
.registration-work{min-width:0}.registration-work p{max-width:none}.registration-actions{flex-wrap:wrap}.registration-empty{display:block!important;padding:30px 16px!important}.registration-empty:before{display:none}
.registration-confirm{max-height:calc(100dvh - 24px);overflow:auto;padding:18px}.registration-staff-picker{grid-template-columns:1fr}.registration-confirm-actions{position:sticky;bottom:-18px;margin:18px -18px -18px;padding:12px 18px;background:#fff;border-top:1px solid #e4e9f0}
.manage-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.manage-table{min-width:760px}
.page-card,.manage-panel,.registration-panel{border-radius:10px}.page-card-head{gap:10px;flex-direction:column}.form-actions{position:sticky;bottom:0;z-index:5;margin-right:-16px;margin-left:-16px;padding:11px 16px;background:#fff;border-top:1px solid #e2e8f0}.form-actions>*{flex:1}
}
@media(max-width:420px){
.office-brand small{display:none}.top-tools{gap:0}.top-tool-button{width:34px}.registration-stats{grid-template-columns:1fr}.schedule-heading-actions{grid-template-columns:1fr}.table-filters-soft{grid-template-columns:1fr}.table-filters-soft label{grid-column:auto}.registration-confirm-actions button{flex:1;padding:0 10px}
}
@media(prefers-reduced-motion:reduce){.office-rail,.office-rail-backdrop{transition:none}}
