.rota{--rota-navy:#07304b;--rota-blue:#096b96;--rota-border:#dce5ec;color:#183247}.rota h2{font-size:1.2rem}.rota h3{font-size:1.05rem}.rota-toolbar,.rota-tabs,.rota-buttons{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.rota-toolbar{justify-content:space-between;margin:18px 0}.rota-tabs{border-bottom:1px solid var(--rota-border);margin:18px 0 24px;padding-bottom:10px}.rota-tabs a{padding:9px 14px;border-radius:8px;text-decoration:none;color:var(--rota-navy);background:white}.rota-tabs a[aria-current=page]{background:var(--rota-navy);color:white}.rota-card{background:white;border:1px solid var(--rota-border);border-radius:12px;padding:22px;margin:16px 0}.rota-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.rota-field{display:flex;flex-direction:column;gap:6px;margin:10px 0;font-size:.9rem;font-weight:600}.rota-field input,.rota-field select,.rota-field textarea{font:inherit;font-weight:400;border:1px solid #b8c8d3;border-radius:6px;padding:10px;background:white;color:#173348;min-width:0;max-width:100%}.rota-field textarea{min-height:90px}.rota-check{display:flex;gap:8px;align-items:center;margin:12px 0}.rota-table{overflow:auto;max-width:100%;border:1px solid var(--rota-border);border-radius:10px;background:white}.rota table{border-collapse:collapse;width:100%;font-size:.87rem}.rota th,.rota td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--rota-border);vertical-align:top}.rota th{background:#eaf1f6;color:var(--rota-navy);font-weight:700;white-space:nowrap}.rota-matrix th:first-child,.rota-matrix td:first-child{position:sticky;left:0;background:#eaf1f6;z-index:1;min-width:118px}.rota-matrix td{min-width:175px}.rota-assignment{display:block;padding:8px 10px;background:#edf6fa;border:1px solid #d4e6ef;border-radius:7px;margin:3px 0;color:#07304b;text-align:left;width:100%;font:inherit}.rota-assignment:hover{background:#deedf4}.rota small{display:block;font-size:.78rem;color:#546e80;margin-top:4px}.rota-pill{display:inline-block;padding:4px 9px;border-radius:20px;background:#eaf1f6;font-size:.76rem;font-weight:700;white-space:nowrap}.rota-pill.good{background:#dff3e8;color:#1e6143}.rota-pill.warn{background:#fff0cb;color:#765004}.rota-pill.danger{background:#ffe3df;color:#9e2f22}.rota-notice{border-left:4px solid #d99c16;background:#fff8e8;padding:15px 18px;border-radius:6px;margin:14px 0;line-height:1.6}.rota-notice.danger{border-color:#bd4234;background:#fff0ed}.rota-notice.info{border-color:#2283ad;background:#ecf5fa}.rota-empty{padding:40px 24px;text-align:center;background:white;border:1px dashed #b5c8d5;border-radius:12px;line-height:1.65}.rota-muted{color:#617b8c}.rota-status{font-size:.8rem;color:#5b7382}.rota-error{color:#a32621;background:#fff0ed;padding:12px;border-radius:6px;margin:10px 0}.rota-ranks{list-style:none;padding:0;counter-reset:nurse}.rota-ranks li{counter-increment:nurse;display:flex;align-items:center;gap:8px;padding:8px;background:#f1f6f9;border-radius:5px;margin:4px 0}.rota-ranks li:before{content:counter(nurse);min-width:22px;font-weight:bold}.rota-ranks span{flex:1}.rota-dialog{border:0;border-radius:14px;box-shadow:0 16px 70px #08273c55;width:min(720px,94vw);max-height:90vh;padding:24px;color:#173348}.rota-dialog::backdrop{background:#051c2d88}.rota-dialog form{margin:0}.rota-dialog .rota-buttons{justify-content:flex-end}.rota-skill-row{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:8px;align-items:end}.rota-skill-row input{width:100%}.rota-live-indicator{width:8px;height:8px;border-radius:50%;background:#268761;display:inline-block;margin-right:6px}.rota-live-indicator.offline{background:#bb4032}.rota-private-countdown{font-variant-numeric:tabular-nums;color:#775009}.rota-incident{border-top:4px solid #bb4032}.rota-name-key{line-height:1.8}.rota .btn{cursor:pointer}.rota button:disabled{opacity:.5;cursor:not-allowed}.rota-self{font-family:system-ui,sans-serif;max-width:1100px;margin:30px auto;padding:0 20px}.rota-self-header{display:flex;justify-content:space-between;align-items:center;gap:15px}.rota-self-header a{color:#07304b}.rota-self .btn{display:inline-block;border:1px solid #b6c9d5;border-radius:7px;padding:10px 15px;text-decoration:none;background:#fff;color:#07304b;font:inherit}.rota-self .btn.primary{background:#096b96;color:white;border-color:#096b96}@media(max-width:650px){.rota-card{padding:15px}.rota-toolbar{align-items:stretch}.rota-toolbar form{width:100%}.rota-tabs{gap:5px}.rota-tabs a{font-size:.83rem;padding:8px}.rota-skill-row{grid-template-columns:1fr 1fr}.rota-dialog{padding:16px}.rota-self-header{align-items:flex-start}.rota-matrix td{min-width:150px}}@media print{.sidebar,.topbar,.rota-tabs,.rota-toolbar,.rota-buttons,.rota button,.rota-status,#toast{display:none!important}.rota-table{overflow:visible;border:0}.rota-matrix th:first-child,.rota-matrix td:first-child{position:static}.rota-card{break-inside:avoid}.rota table{font-size:8pt}.rota th,.rota td{padding:5px}.rota-self{margin:0;padding:0}.app{display:block!important}main{margin:0!important}}

.rota-gap{color:#a31324;font-weight:700}
/* The Hub supports a dark shell; the rota workspace keeps its own readable surface. */
.rota{background:#f4f7fb;padding:24px;border:1px solid #d6e1ea;border-radius:16px;color:#19384c}
.rota-dialog{background:#fff}
@media(max-width:600px){.rota{padding:14px 12px}}
@media print{.rota{padding:0;border:0;background:#fff}}
