.presence-workspace,.notification-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;min-width:0}
.presence-workspace>*,.notification-workspace>*{min-width:0}
.presence-workspace.hidden,.notification-workspace.hidden{display:none}
.presence-heading,.presence-actions,.presence-filters,.notification-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.presence-heading{justify-content:space-between}
.presence-heading h3,.presence-heading p{margin:0}
.presence-heading p{margin-top:6px;color:var(--muted,#637580)}
.presence-note{border:1px solid var(--line,#dde4e2);border-left:4px solid var(--accent,#ad4932);border-radius:10px;background:var(--surface,#fff);padding:16px 20px;line-height:1.6}
.presence-note p{margin:4px 0}
.presence-readiness{padding:0 2px;color:var(--muted,#637580);font-size:.83rem;line-height:1.6}
.presence-readiness summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;cursor:pointer;list-style:none}
.presence-readiness summary::-webkit-details-marker{display:none}
.presence-readiness summary::after{content:'+';margin-left:auto;font-size:1.2rem;line-height:1}
.presence-readiness[open] summary::after{content:'−'}
.presence-readiness summary strong{color:var(--ink,#263238);font-weight:600}
.presence-readiness p{margin:10px 0 0;max-width:80ch}
.presence-explainer{color:var(--muted,#637580);font-size:.8rem;line-height:1.6}
.presence-explainer summary{cursor:pointer;display:list-item;width:fit-content}
.presence-explainer p{margin:8px 0 0;max-width:85ch}
.presence-directory .presence-heading{align-items:flex-start;gap:16px 24px}
.presence-directory .presence-heading h3{font-size:1.15rem}
.presence-directory .presence-heading p{font-size:.83rem;line-height:1.5}
.presence-directory .presence-filters{padding-bottom:18px;border-bottom:1px solid var(--line,#dbe3df)}
.presence-filters{align-items:flex-end;margin:18px 0}
.presence-filters label{min-width:150px;flex:1}
.presence-filters label span,.presence-form label>span{display:block;margin-bottom:7px;font-weight:600;font-size:.85rem;color:var(--muted,#637580)}
.presence-filters input,.presence-filters select,.presence-form input:not([type=checkbox]),.presence-form select,.presence-form textarea{width:100%;padding:11px 12px;border:1px solid var(--line,#d2dcda);border-radius:8px;background:var(--surface,#fff);color:inherit;font:inherit;box-sizing:border-box}
.presence-form textarea{resize:vertical;min-height:80px}
.presence-form{display:grid;gap:18px}
.presence-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.presence-form-grid>.full{grid-column:1/-1}
.presence-form fieldset{min-width:0;border:1px solid var(--line,#dbe3df);border-radius:12px;padding:18px}
.presence-form legend{padding:0 6px;font-weight:700}
#presenceConfigForm .presence-rule-group{border:0;border-top:1px solid var(--line,#dbe3df);border-radius:0;padding:18px 0 0;margin-top:4px}
#presenceConfigForm .presence-rule-group legend{padding:0 12px 0 0;font-size:.95rem}
#presenceConfigForm .presence-rule-group>.form-message{margin:0 0 16px;line-height:1.5;max-width:80ch}
#presenceConfigForm .presence-rule-group>.check-line{margin-top:18px}
.presence-checks{display:flex;gap:12px 20px;flex-wrap:wrap}
.presence-checks label{display:flex;gap:8px;align-items:center;font-size:.9rem}
.presence-form .check-line{display:flex;align-items:center;gap:10px}
.presence-table{width:100%;border-collapse:collapse}
.presence-table th,.presence-table td{text-align:left;vertical-align:middle;padding:16px 14px;border-bottom:1px solid var(--line,#dbe3df)}
.presence-table th{font-size:.82rem;font-weight:600;color:var(--muted,#637580);background:var(--surface-soft,#f4f6f5)}
.presence-table td small{display:block;color:var(--muted,#637580);margin-top:5px;line-height:1.5}
.presence-table .status-cell{text-align:center;white-space:nowrap}
.presence-dialog{width:min(880px,calc(100vw - 32px));max-height:90vh;padding:0;border:1px solid var(--line,#dbe3df);border-radius:16px;color:inherit;background:var(--surface,#fff);box-shadow:0 22px 80px #162c3340}
.presence-dialog::backdrop{background:#16273388;backdrop-filter:blur(2px)}
.presence-dialog-header,.presence-dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;border-bottom:1px solid var(--line,#dbe3df);background:var(--surface,#fff)}
.presence-dialog-header h2{margin:4px 0 0;font-size:1.35rem}
.presence-dialog-header p{margin:0}
.presence-dialog-body{padding:24px 26px;overflow:auto;max-height:calc(90vh - 100px)}
.presence-dialog-body>section+section{margin-top:24px}
.presence-dialog .modal-actions{justify-content:flex-end;margin-top:18px}
.presence-dialog .form-message{line-height:1.5}
.presence-mini-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}
.presence-mini-summary div{border:1px solid var(--line,#dbe3df);border-radius:10px;padding:14px}
.presence-mini-summary span{display:block;font-size:.8rem;color:var(--muted,#637580);margin-bottom:6px}
.presence-event-list{list-style:none;padding:0;margin:0}
.presence-event-list li{padding:14px 0;border-bottom:1px solid var(--line,#dbe3df)}
.presence-event-list small{display:block;color:var(--muted,#637580);margin:5px 0}
.presence-tabs{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:0;padding:0;border-bottom:1px solid var(--line,#dbe3df)}
.presence-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;border-radius:0;padding:12px 0;font:inherit;font-size:.85rem;font-weight:600;color:var(--muted,#637580);cursor:pointer}
.presence-tabs button[aria-selected=true]{border-bottom-color:var(--brand,#ad4932);color:var(--ink,#263238)}
.presence-secret{word-break:break-all;padding:12px;background:var(--surface-soft,#f4f6f5);border-radius:8px;font-family:monospace;font-size:.8rem;user-select:all}
.presence-secret-label{font-weight:700;margin-top:15px}
.presence-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:14px 0}
.presence-photos img{width:100%;max-height:300px;object-fit:contain;border-radius:8px;background:var(--surface-soft,#f4f6f5)}
.presence-photos figcaption{font-size:.82rem;color:var(--muted,#637580);margin-top:6px}
.presence-shifts{display:grid;gap:12px}
.presence-shift{display:grid;grid-template-columns:1fr 110px 110px auto;gap:12px;align-items:end;border-bottom:1px solid var(--line,#dbe3df);padding-bottom:14px}
.presence-shift .presence-checks{grid-column:1/-1}
.notification-bell{position:relative;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line,#dbe3df);border-radius:12px;background:var(--surface,#fff);color:inherit;cursor:pointer}
.notification-bell svg{width:21px;height:21px}
.notification-count{position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:20px;background:var(--accent,#ad4932);color:#fff;font-size:11px;font-weight:700;line-height:18px}
.notification-inbox-heading{padding-bottom:20px;border-bottom:1px solid var(--line,#dbe3df)}
.notification-inbox-heading h3{font-size:1.15rem}
.notification-inbox-heading p{font-size:.84rem}
.notification-inbox-heading .check-line{display:flex;align-items:center;gap:8px;font-size:.82rem}
.notification-list{display:grid;gap:12px}
.notification-day-title{font-size:.77rem;font-weight:600;letter-spacing:.03em;color:var(--muted,#637580);margin:22px 0 0;padding-bottom:10px;border-bottom:1px solid var(--line,#dbe3df)}
.notification-day-list{list-style:none;padding:0;margin:0}
.notification-card{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:18px;padding:20px 0;border-bottom:1px solid var(--line,#dbe3df)}
.notification-card:last-child{border-bottom:0}
.notification-card.unread .notification-title::before{content:'';width:6px;height:6px;background:var(--brand,#ad4932);border-radius:50%;flex-shrink:0;align-self:center}
.notification-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px 10px;margin-bottom:7px}
.notification-title h4{margin:0;font-size:.94rem;overflow-wrap:anywhere}
.notification-unread-label{font-size:.7rem;font-weight:500;color:var(--muted,#637580)}
.notification-card p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem;line-height:1.6}
.notification-time{font-size:.82rem;color:var(--muted,#637580);font-variant-numeric:tabular-nums;line-height:1.5}
.notification-time small{display:block;margin-top:5px;font-size:.7rem}
.notification-card .notification-actions{align-content:center;justify-content:flex-end;max-width:210px;gap:8px 14px}
.notification-card .notification-actions .text-button{font-size:.78rem}
.notification-inbox-help{margin:14px 0 0;color:var(--muted,#637580);font-size:.77rem;line-height:1.6}
.notification-delivery-overview{background:var(--surface,#fff);border:1px solid var(--line,#dbe3df);border-radius:10px;padding:18px 22px}
.notification-integrations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.notification-integrations>div{min-width:0;padding:0 20px}
.notification-integrations>div:first-child{padding-left:0}
.notification-integrations>div+div{border-left:1px solid var(--line,#dbe3df)}
.notification-integrations strong{display:block;margin-bottom:8px;font-size:.8rem;color:var(--muted,#637580);font-weight:600}
.notification-integrations span{font-size:.82rem;overflow-wrap:anywhere}
.notification-delivery-overview .notification-inbox-help{padding-top:14px;border-top:1px solid var(--line,#dbe3df)}
.presence-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:18px}
.presence-hierarchy-note{padding:12px 14px;border-radius:8px;background:var(--surface-soft,#f4f6f5);color:var(--muted,#637580);font-size:.84rem;line-height:1.6}
.presence-hierarchy-table{width:100%;border-collapse:collapse;min-width:760px}
.presence-hierarchy-table th,.presence-hierarchy-table td{padding:16px 14px;border-bottom:1px solid var(--line,#dbe3df);vertical-align:middle}
.presence-hierarchy-table thead th{background:var(--surface-soft,#f4f6f5);font-size:.82rem;font-weight:600;color:var(--muted,#637580)}
.presence-hierarchy-table tbody th{font-weight:400;text-align:left}
.presence-hierarchy-table .hierarchy-person{min-width:260px}
.presence-hierarchy-table .hierarchy-person strong{font-size:.9rem}
.presence-hierarchy-table .hierarchy-person small{display:block;font-size:.75rem;line-height:1.5;color:var(--muted,#637580);margin-top:4px}
.presence-hierarchy-table th:not(:first-child),.presence-hierarchy-table .status-cell,.presence-hierarchy-table .presence-number,.presence-hierarchy-table .presence-pending,.presence-hierarchy-table .presence-node-actions{text-align:center}
.presence-hierarchy-table .presence-number{font-variant-numeric:tabular-nums;font-weight:600}
.presence-hierarchy-table .presence-pending{font-size:.8rem;min-width:110px}
.presence-hierarchy-table .presence-pending span{display:block;line-height:1.5}
.presence-hierarchy-table .presence-pdv-row th,.presence-hierarchy-table .presence-pdv-row td{background:var(--surface-soft,#f4f6f5);border-top:1px solid var(--line,#dbe3df)}
.presence-hierarchy-table .presence-pdv-row strong{font-weight:700}
.presence-history-table{min-width:640px}
.presence-dialog .table-wrap{max-width:100%;overflow-x:auto}
@media(max-width:720px){.presence-form-grid,.presence-mini-summary,.presence-photos{grid-template-columns:1fr}.presence-shift{grid-template-columns:1fr 1fr}.presence-shift>label:first-child{grid-column:1/-1}.presence-dialog-body,.presence-dialog-header{padding:18px}.notification-card{grid-template-columns:60px minmax(0,1fr);gap:10px 14px}.notification-card .notification-actions{grid-column:2;justify-content:flex-start;max-width:none}.notification-integrations{grid-template-columns:1fr;gap:14px}.notification-integrations>div{padding:0}.notification-integrations>div+div{border-left:0;border-top:1px solid var(--line,#dbe3df);padding-top:14px}.presence-filters label{min-width:130px}.presence-table th,.presence-table td{padding:12px 10px}.presence-readiness summary{gap:4px 10px}.presence-readiness summary span{font-size:.76rem}}
@media(prefers-reduced-motion:reduce){.presence-workspace *,.notification-workspace *{scroll-behavior:auto}}
