.duty-welcome{display:flex;justify-content:space-between;gap:32px;padding:30px 34px;margin-bottom:24px;background:linear-gradient(118deg,#e9f2ff 0%,#f1f7ff 56%,#e8f5f2 100%);border:1px solid #dce7f2;border-radius:16px;position:relative;overflow:hidden}.duty-eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:700;color:#45739c;margin:0 0 10px}.duty-welcome h2{font-size:25px;letter-spacing:.2px;color:#173957;margin:0 0 12px}.duty-welcome p:not(.duty-eyebrow){font-size:13px;color:#667d94;line-height:1.9;margin:0}.duty-welcome-actions{display:flex;gap:10px;margin-top:22px}.duty-shift-clock{min-width:280px;display:flex;flex-direction:column;justify-content:center;gap:11px;border-left:1px solid #c8dce9;padding-left:35px}.duty-shift-clock>span:first-child{font-size:12px;font-weight:700;color:#58758f;letter-spacing:1px}.duty-shift-clock>strong{font-size:29px;color:#1b4b68;letter-spacing:1px}.duty-shift-clock i{font-style:normal;color:#9cb5c5;padding:0 9px;font-size:20px}.duty-shift-clock>span{font-size:12px;color:#6a8296}.duty-shift-clock>div{display:flex;gap:8px}.duty-cell-sub{display:block;font-size:11px;line-height:1.7;color:#8a98a9;margin-top:5px}.duty-table-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.duty-table-actions a,.duty-roster-card a{color:#3677c4;text-decoration:none;font-size:12px}.duty-person{display:flex;gap:12px;align-items:center}.duty-person>div{display:flex;flex-direction:column;gap:5px}.duty-person strong{font-size:14px;color:#243f56}.duty-person span:not(.duty-avatar){color:#8a99a8;font-size:12px}.duty-avatar{display:inline-flex;width:43px;height:43px;align-items:center;justify-content:center;background:#e5effb;color:#477db8;border-radius:13px;font-size:13px;flex-shrink:0;font-weight:700}.duty-avatar-1{background:#e6f3ee;color:#348e6c}.duty-avatar-2{background:#eeeafa;color:#8466ac}.duty-avatar-3{background:#fcf0dd;color:#a67d39}.duty-person-small .duty-avatar{width:34px;height:34px;border-radius:10px;font-size:11px}.duty-person-small strong{font-size:12px}.duty-person-small span:not(.duty-avatar){font-size:11px}.duty-notice-list{display:flex;flex-direction:column}.duty-notice-list>a{display:flex;align-items:center;gap:14px;padding:16px 0;text-decoration:none;color:inherit;border-bottom:1px solid #eef2f6}.duty-notice-list>a:last-child{border:0}.duty-notice-list>a>div{flex:1}.duty-notice-list strong{font-size:13px;font-weight:600;color:#354e64}.duty-notice-list p{font-size:12px;color:#91a0ae;line-height:1.6;margin:6px 0 0}.duty-notice-list b{font-size:12px;background:#edf3fc;color:#4d7cbb;min-width:22px;height:22px;border-radius:7px;display:flex;align-items:center;justify-content:center}.duty-notice-icon{display:flex;align-items:center;justify-content:center;width:39px;height:39px;border-radius:11px;font-size:15px;font-weight:600}.duty-notice-icon.orange{background:#fff3dd;color:#bc8b3a}.duty-notice-icon.blue{background:#eaf1fc;color:#5283c0}.duty-notice-icon.teal{background:#e4f3ef;color:#4b957e}
.duty-calendar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px;gap:15px;flex-wrap:wrap}.duty-calendar-layout{display:grid;grid-template-columns:190px minmax(380px,1fr) 270px;gap:18px;align-items:start}.duty-dept-tree{background:#fff;border:1px solid #e7ecf2;border-radius:12px;padding:20px 15px;min-height:420px}.duty-tree-title{font-weight:700;font-size:13px;color:#354c65;margin-bottom:20px}.duty-dept-tree label{display:flex;gap:8px;align-items:flex-start;margin-bottom:20px;color:#52687f;font-size:12px;line-height:1.5}.duty-dept-tree label:not(.duty-tree-all){padding-left:14px}.duty-dept-tree input{accent-color:#377db5;margin-top:3px}.duty-dept-tree small{display:block;font-size:10px;color:#96a2b0;margin-top:4px}.duty-dept-tree hr{border:0;border-top:1px solid #edf1f5;margin:28px 0 22px}.duty-calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.duty-calendar-heading strong{font-size:16px;color:#37526b}.duty-calendar-heading>div{display:flex;gap:5px}.duty-calendar-heading button{min-width:27px;padding:5px 8px!important;font-size:12px!important}.duty-week-head,.duty-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.duty-week-head span{text-align:center;padding:8px 0 15px;color:#9aa6b3;font-size:11px}.duty-cal-cell{min-height:112px;padding:10px 5px;border-right:1px solid #edf1f6;border-bottom:1px solid #edf1f6;text-decoration:none;color:#657b90;display:flex;flex-direction:column;gap:6px;transition:background .15s}.duty-cal-cell:nth-child(7n){border-right:0}.duty-cal-cell:nth-child(-n+7){border-top:1px solid #edf1f6}.duty-cal-cell.selected{background:#edf5ff;box-shadow:inset 0 0 0 1.5px #71a4d4;border-radius:7px}.duty-cal-cell>span{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600}.duty-cal-cell em{font-style:normal;font-size:8px;background:#3a7dbb;color:white;padding:2px 3px;border-radius:3px}.duty-cal-cell.outside{color:#c8d1db;background:#fbfcfe}.duty-cal-cell.weekend:not(.selected){background:#fafcfe}.duty-cal-cell:hover{background:#f2f7ff}.duty-cal-event{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:4px;background:#e6effb;color:#4b80af;border-radius:4px;border-left:2px solid #78a9d1}.duty-cal-event.teal{background:#e8f4ef;color:#539179;border-color:#79b9a1}.duty-cal-event.pale{background:#f1edf9;color:#9080af;border-color:#b1a3d0}.duty-cal-cell>small{font-size:9px;color:#a0aebc}.duty-calendar.compact .duty-cal-cell{min-height:66px}.duty-roster-cards{display:flex;flex-direction:column;gap:12px;max-height:780px;overflow:auto}.duty-roster-card{border:1px solid #e9eef3;border-radius:9px;padding:13px}.duty-roster-meta{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:5px;font-size:11px;color:#8193a5}.duty-roster-card p{font-size:10px;color:#9aa8b5;margin:8px 0 12px}.duty-roster-card>div:last-child{display:flex;gap:15px}.duty-roster-card a{font-size:11px}.duty-week-board{display:grid;grid-template-columns:145px repeat(7,minmax(105px,1fr));overflow-x:auto;border:1px solid #e9eef4;border-radius:9px}.duty-week-label{padding:15px 10px;background:#f7f9fc;text-align:center;font-size:11px;color:#8f9eae;border-bottom:1px solid #e6edf4}.duty-week-label strong{display:block;font-size:14px;color:#536b83;margin-top:7px}.duty-week-label.current{background:#eaf3fd}.duty-week-dept{padding:25px 14px;font-size:12px;color:#405b74;border-right:1px solid #e8eef4;border-bottom:1px solid #e8eef4}.duty-week-dept small{display:block;color:#9eabb8;font-size:10px;margin-top:8px}.duty-week-slot{padding:18px 8px;text-decoration:none;min-height:135px;border-right:1px solid #edf1f6;border-bottom:1px solid #edf1f6;display:flex;flex-direction:column;gap:10px}.duty-week-slot.current{background:#f6faff}.duty-week-slot>span{color:#7396b9;font-size:10px}.duty-week-slot strong{color:#536f88;font-size:10px;line-height:1.6}.duty-week-slot small{color:#9caab8;font-size:9px}.duty-week-slot em{font-style:normal;font-size:9px;color:#649d89}
.duty-inspect-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}.duty-inspect-card{background:#fff;border:1px solid #e6edf3;border-radius:13px;padding:23px 23px 17px}.duty-inspect-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.duty-inspect-info{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;color:#8a9aab;font-size:11px}.duty-inspect-info>span:after{content:'·';padding-left:8px;color:#c2ccd6}.duty-inspect-info>span:last-child:after{display:none}.duty-inspect-result{display:grid;grid-template-columns:1fr 1fr;padding:18px 0;margin-top:15px;border-top:1px solid #eff3f7;border-bottom:1px solid #eff3f7}.duty-inspect-result>div{display:flex;flex-direction:column;gap:9px}.duty-inspect-result>div+div{border-left:1px solid #eaf0f5;padding-left:20px}.duty-inspect-result small{color:#95a4b2;font-size:10px}.duty-inspect-result strong{font-size:12px;color:#506c85;font-weight:500}.duty-inspect-action{display:flex;justify-content:flex-end;margin-top:16px}.duty-profile{display:flex;align-items:center;justify-content:space-between;padding:10px 0 25px}.duty-profile>div:last-child{display:flex;gap:8px}.duty-form-intro{display:flex;align-items:center;gap:15px;padding:17px 22px;background:#eff6fd;border:1px solid #e1edf8;border-radius:10px;color:#6987a3;font-size:12px;margin-bottom:22px}.duty-form-rule{margin-left:auto;color:#718ca6}.duty-reading{font-size:13px;line-height:1.9;color:#657b90}.duty-reading h3{font-size:13px;color:#344f68;margin:5px 0 10px}.duty-reading p{margin:0 0 22px}.duty-signature-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 6px}.duty-signature-strip>div{display:flex;flex-direction:column;gap:10px}.duty-signature-strip small{font-size:11px;color:#96a4b2}.duty-sign-name{font-family:KaiTi,"STKaiti",serif;color:#314c66;font-size:30px;letter-spacing:6px}.duty-sign-placeholder{color:#90a4b6;font-size:12px}.duty-signature-strip>div:last-child{align-items:flex-end}.duty-signature-strip strong{font-size:13px;font-weight:500;color:#77978c}.duty-attachment{display:flex;align-items:center;gap:13px;text-align:left;width:100%;border:1px solid #e5edf5;background:#fbfcfe;border-radius:9px;padding:16px 14px;cursor:pointer}.duty-file-type{display:flex;align-items:center;justify-content:center;background:#e8f0fb;color:#5c82af;min-width:39px;height:45px;font-size:10px;font-weight:700;border-radius:7px}.duty-attachment>span:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column;gap:7px}.duty-attachment strong{font-size:11px;color:#596f86;font-weight:500;overflow-wrap:anywhere}.duty-attachment small{font-size:10px;color:#9daab7}.duty-attachment-arrow{color:#93a5b8;font-size:18px}.duty-timeline .timeline-item{display:grid;grid-template-columns:155px 1fr;gap:20px;padding-bottom:28px}.duty-timeline-time{font-size:11px;color:#91a3b5}.duty-timeline strong{font-size:13px;font-weight:600;color:#49637c}.duty-timeline p{font-size:12px;color:#8a9bac;line-height:1.8;margin:7px 0 0}.duty-inline-banner{display:flex;align-items:center;gap:20px;padding:14px 18px;border-radius:8px;background:#f1f7fc;margin-bottom:18px}.duty-inline-banner strong{font-size:12px;color:#517fa7}.duty-inline-banner span{font-size:11px;color:#8a9eaf}.duty-preparation{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:15px 0}.duty-preparation>div{position:relative;padding-left:47px}.duty-preparation span{position:absolute;left:0;top:0;border-radius:10px;background:#edf4fc;color:#5d8fbd;width:33px;height:33px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.duty-preparation strong{font-size:12px;color:#526c84}.duty-preparation p{font-size:11px;color:#9ba8b4;line-height:1.9;margin-top:8px}.duty-upload-hint{border:1px dashed #a9c2db;border-radius:10px;background:#f5f9ff;padding:22px;margin-top:20px;text-align:center;color:#6c89a5}.duty-upload-hint strong{font-size:13px}.duty-upload-hint p{font-size:12px;line-height:1.8;color:#96a7b8}.duty-metric-footnotes{display:flex;flex-wrap:wrap;gap:14px 28px;padding:16px 4px;color:#94a1b0;font-size:11px}.duty-empty-small{text-align:center;padding:32px;color:#8fa4b6;font-size:13px}
.duty-qr-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:24px}.duty-qr-card{text-align:center;padding:25px 15px 35px}.duty-qr-card h2{font-size:23px;color:#2e516e;font-weight:600;margin:14px 0 28px}.duty-qr-placeholder{display:inline-flex;flex-direction:column;align-items:center;background:#fff;padding:20px;border:1px solid #dbe6f1;border-radius:18px;box-shadow:0 10px 28px #315f9310}.duty-qr-grid{display:grid;grid-template-columns:repeat(9,14px);grid-auto-rows:14px;gap:3px;padding:8px;border:2px solid #234862}.duty-qr-grid i.filled{background:#234862}.duty-qr-placeholder>span{margin-top:14px;color:#96a5b4;font-size:11px;letter-spacing:2px}.duty-qr-card>p{font-size:12px;color:#8c9eaf;line-height:1.8;margin:24px 0 20px}.duty-qr-card>small{display:block;font-size:10px;color:#a6b2bd;margin-top:17px}.duty-signin-list{display:flex;flex-direction:column;margin-top:18px}.duty-signin-list>div{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid #edf2f6}.duty-mobile-preview{max-width:395px;margin:16px auto 40px;border:8px solid #243a4c;border-radius:34px;overflow:hidden;background:#f3f7fb;box-shadow:0 20px 70px #274f7820}.duty-mobile-top{display:flex;flex-direction:column;gap:12px;padding:24px 24px 30px;background:linear-gradient(120deg,#285e89,#427fac);color:#fff}.duty-mobile-top span{font-size:10px;letter-spacing:1px;opacity:.75}.duty-mobile-top strong{font-size:22px;font-weight:500}.duty-mobile-content{padding:26px 22px 35px;text-align:center}.duty-mobile-avatar{display:flex;width:60px;height:60px;align-items:center;justify-content:center;border-radius:19px;background:#e0edf9;color:#5781a7;font-size:17px;margin:0 auto 13px}.duty-mobile-content h2{font-size:19px;color:#36546c;margin:10px 0}.duty-mobile-content>p{font-size:12px;color:#94a4b3;margin-bottom:24px}.duty-mobile-content .info-grid{text-align:left}.duty-mobile-submit{display:flex;margin-top:25px}.duty-mobile-submit>*{width:100%}
@media(min-width:1650px){.duty-calendar-layout{grid-template-columns:205px minmax(500px,1fr) 300px}.duty-cal-cell{min-height:120px}.duty-cal-event{font-size:10px}}
@media(max-width:1280px){.duty-calendar-layout{grid-template-columns:170px minmax(330px,1fr)}.duty-calendar-layout>.panel:last-child,.duty-calendar-layout>section:last-child,.duty-calendar-layout>.card:last-child{grid-column:1/-1}.duty-roster-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-height:none}.duty-inspect-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.duty-welcome{padding:26px}.duty-welcome h2{font-size:21px}.duty-shift-clock{min-width:250px;padding-left:24px}}
@media(max-width:900px){.duty-welcome{flex-direction:column}.duty-shift-clock{border-left:0;border-top:1px solid #c8dce9;padding:22px 0 0}.duty-calendar-layout{display:block}.duty-calendar-layout>*{margin-bottom:20px}.duty-dept-tree{min-height:0;display:flex;gap:14px;flex-wrap:wrap;align-items:center}.duty-dept-tree label{margin-bottom:0;padding:0!important}.duty-dept-tree .duty-tree-title{margin:0}.duty-dept-tree small,.duty-dept-tree hr,.duty-dept-tree p{display:none}.duty-roster-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.duty-qr-layout{grid-template-columns:1fr}.duty-form-intro{flex-wrap:wrap}.duty-form-rule{margin-left:0}.duty-preparation{gap:14px}.duty-timeline .timeline-item{grid-template-columns:120px 1fr;gap:12px}}
@media(max-width:600px){.duty-welcome{padding:22px 20px}.duty-welcome h2{font-size:20px;line-height:1.6}.duty-welcome-actions{flex-wrap:wrap}.duty-inspect-grid{grid-template-columns:1fr}.duty-roster-cards{grid-template-columns:1fr 1fr}.duty-cal-cell{min-height:84px;padding:7px 3px}.duty-cal-cell>span{font-size:11px}.duty-cal-event{font-size:7px;padding:3px 1px}.duty-cal-event.pale,.duty-cal-cell>small{display:none}.duty-preparation{grid-template-columns:1fr}.duty-signature-strip{align-items:flex-start}.duty-signature-strip>div:last-child{max-width:50%}.duty-inline-banner{align-items:flex-start;flex-direction:column;gap:8px}.duty-timeline .timeline-item{grid-template-columns:1fr;gap:8px}.duty-calendar-top{align-items:flex-start}.duty-calendar-top .duty-table-actions{gap:6px}.duty-attachment{padding:12px}.duty-metric-footnotes{line-height:1.8}.duty-profile{align-items:flex-start;gap:15px}.duty-calendar-days{overflow:hidden}}
