:root{--primary:#005bac;--primary-dark:#004a8f;--primary-light:#0077c8;--accent:#0891b2;--accent-strong:#06b6d4;--primary-subtle:#f0f7ff;--sidebar:#0f2744;--bg:#f4f6f9;--surface:#fff;--border:#dde3ea;--text:#1a2332;--muted:#64748b;--success:#059669;--warning:#d97706;--danger:#dc2626;--radius:12px;--shadow:0 4px 24px rgba(15,23,42,.08);--font:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}a{color:inherit;text-decoration:none}.portal{min-height:100vh;display:grid;place-items:center;padding:2rem;background:linear-gradient(135deg,#003d73 0,var(--primary) 50%,var(--primary-light) 100%)}.portal-card{background:var(--surface);border-radius:20px;padding:3rem;max-width:720px;width:100%;box-shadow:var(--shadow);text-align:center}.portal-card h1{font-size:1.75rem;margin-bottom:.5rem}.portal-card p{color:var(--muted);margin-bottom:2rem}.portal-links{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.portal-link{display:block;padding:1.5rem;border:2px solid var(--border);border-radius:var(--radius);transition:all .2s}.portal-link:hover{border-color:var(--primary);background:var(--primary-subtle)}.portal-link strong{display:block;font-size:1.1rem;margin-bottom:.25rem}.portal-link span{font-size:.875rem;color:var(--muted)}.admin-layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--sidebar);color:#fff;padding:1.5rem 1rem}.sidebar-brand{font-weight:700;font-size:1rem;padding:.5rem .75rem 1.5rem;border-bottom:1px solid hsla(0,0%,100%,.12);margin-bottom:1rem}.sidebar-brand small{display:block;font-weight:400;font-size:.75rem;opacity:.7;margin-top:.25rem}.nav-item{display:block;padding:.75rem 1rem;border-radius:8px;margin-bottom:.25rem;font-size:.9375rem;opacity:.85}.nav-item.active,.nav-item:hover{background:hsla(0,0%,100%,.12);opacity:1}.main{padding:2rem;overflow:auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.page-header h1{font-size:1.5rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:8px;border:none;font-size:.9375rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:#fff;color:var(--text);border:1px solid var(--border)}.btn-block{width:100%;display:block;text-align:center;margin-top:.75rem}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{background:transparent;color:var(--primary);border:1px solid var(--primary)}.card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow)}.card-body{padding:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.stats-grid-3{grid-template-columns:repeat(3,1fr)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.stat-card .label{font-size:.8125rem;color:var(--muted)}.stat-card .value{font-size:1.75rem;font-weight:700;margin-top:.25rem}table{width:100%;border-collapse:collapse;font-size:.9375rem}td,th{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--border)}th{font-size:.8125rem;color:var(--muted);font-weight:600}.fixed-page-table{--table-visible-rows:10;--table-row-height:3rem}.fixed-page-table tbody tr.table-row-placeholder td{height:var(--table-row-height);padding:.875rem 1rem;visibility:hidden}.fixed-page-table tbody tr.table-status-row td{height:calc(var(--table-visible-rows) * var(--table-row-height));vertical-align:middle;text-align:center}.audit-log-table{--table-visible-rows:10;--table-row-height:3rem}.audit-log-table tbody tr.audit-log-row-placeholder td{height:var(--table-row-height);padding:.875rem 1rem;visibility:hidden}.audit-log-table tbody tr.audit-log-status-row td{height:calc(var(--table-visible-rows) * var(--table-row-height));vertical-align:middle;text-align:center}.badge{display:inline-block;padding:.2rem .625rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge-sent{background:#dcfce7;color:var(--success)}.badge-scheduled{background:#fef3c7;color:var(--warning)}.badge-draft{background:#e2e8f0;color:var(--muted)}.badge-cancelled{background:#fee2e2;color:var(--danger)}.progress-bar{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-top:.375rem}.progress-bar-fill{height:100%;background:var(--primary);border-radius:999px}.form-grid{display:grid;grid-template-columns:1fr 360px;grid-gap:1.5rem;gap:1.5rem;align-items:start}.form-section{margin-bottom:1.5rem}.form-section h2{font-size:1rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.375rem}input[type=date],input[type=datetime-local],input[type=password],input[type=text],select,textarea{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:.9375rem}input[type=date],input[type=datetime-local]{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}input[type=datetime-local]::-webkit-datetime-edit-ampm-field{display:none}textarea{min-height:160px;resize:vertical}.hint{font-size:.8125rem;color:var(--muted);margin-top:.375rem}.required-mark{color:var(--danger);margin-left:.2rem;font-weight:700}.form-alert{display:flex;gap:.875rem;align-items:flex-start;padding:1rem 1.125rem;margin-bottom:1.25rem;border-radius:var(--radius);border:1px solid;font-size:.9375rem;line-height:1.55}.form-alert-error{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.form-alert-success{background:#f0fdf4;border-color:#86efac;color:#166534}.form-alert-icon{flex-shrink:0;width:1.625rem;height:1.625rem;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.875rem;margin-top:.05rem}.form-alert-error .form-alert-icon{background:var(--danger);color:#fff}.form-alert-success .form-alert-icon{background:var(--success,#16a34a);color:#fff}.form-alert-title{margin:0 0 .35rem;font-weight:700}.form-alert-message{margin:0}.form-alert-list{margin:0;padding-left:1.125rem}.form-alert-list li+li{margin-top:.25rem}.field-invalid{border-color:var(--danger)!important}.branch-panel.field-invalid,.field-invalid{box-shadow:0 0 0 1px color-mix(in srgb,var(--danger) 35%,transparent)}.branch-panel.field-invalid{border-color:var(--danger)}.field-inline-error{margin:.375rem 0 0;font-size:.8125rem;color:var(--danger);font-weight:600}.toast-stack{position:fixed;top:1rem;right:1rem;z-index:1000;flex-direction:column;width:min(22rem,calc(100vw - 2rem));pointer-events:none}.toast,.toast-stack{display:flex;gap:.75rem}.toast{align-items:flex-start;padding:.875rem .75rem .875rem .875rem;border-radius:var(--radius);border:1px solid;box-shadow:0 10px 30px rgba(15,23,42,.12);pointer-events:auto;animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(-.35rem)}to{opacity:1;transform:translateY(0)}}.toast-error{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.toast-success{background:#f0fdf4;border-color:#86efac;color:#166534}.toast-icon{flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:50%;display:grid;place-items:center;font-size:.8125rem;font-weight:700;color:#fff}.toast-error .toast-icon{background:var(--danger)}.toast-success .toast-icon{background:var(--success,#16a34a)}.toast-body{flex:1 1;min-width:0}.toast-title{margin:0 0 .2rem;font-weight:700;font-size:.875rem}.toast-message{margin:0;font-size:.875rem;line-height:1.45}.toast-close{flex-shrink:0;border:none;background:transparent;color:inherit;opacity:.65;font-size:1.125rem;line-height:1;cursor:pointer;padding:.125rem}.toast-close:hover{opacity:1}.target-select-layout{display:flex;flex-direction:column;gap:.65rem}.target-type-select{position:relative}.target-type-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .85rem;border:2px solid var(--border);border-radius:8px;background:var(--surface);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.target-type-select-trigger.open,.target-type-select-trigger:focus-visible{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(0,91,172,.12)}.target-type-select-label{display:flex;flex-direction:column;gap:.12rem;min-width:0}.target-type-select-title{font-size:.9375rem;font-weight:700;color:var(--text);line-height:1.3}.target-type-select-note{font-size:.75rem;font-weight:400;color:var(--muted);line-height:1.35}.target-type-select-chevron{flex-shrink:0;font-size:.65rem;color:var(--muted)}.target-type-select-dropdown{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;max-height:320px;overflow-y:auto;background:var(--surface);border:2px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(15,23,42,.12)}.target-type-select-option{width:100%;display:block;padding:.65rem .85rem;border:none;border-bottom:1px solid var(--border);background:none;text-align:left;cursor:pointer}.target-type-select-option:last-child{border-bottom:none}.target-type-select-option.selected,.target-type-select-option:hover{background:var(--primary-subtle)}.target-type-select-option.selected .target-type-select-title{color:var(--primary)}.target-sub-panel{padding:1rem 1.1rem;border:2px solid var(--primary);border-radius:var(--radius);background:var(--primary-subtle);display:flex;flex-direction:column;--target-sub-panel-body-height:280px;height:calc(var(--target-sub-panel-body-height) + 5.25rem + 2rem);min-height:calc(var(--target-sub-panel-body-height) + 5.25rem + 2rem)}.target-sub-panel-header{flex-shrink:0;margin-bottom:.65rem}.target-sub-panel-header .panel-lead{margin-bottom:.35rem}.target-sub-panel-body{height:var(--target-sub-panel-body-height);min-height:var(--target-sub-panel-body-height);display:flex;flex-direction:column;overflow:hidden}.target-sub-panel-body .org-check-list{flex:1 1;min-height:0;max-height:none;overflow-y:auto}.target-sub-panel-body-footer{flex-shrink:0;margin:.5rem 0 0}.target-sub-panel-individual{display:flex;flex-direction:column;height:100%;min-height:0}.target-sub-panel-individual .employee-member-picker{flex:1 1;display:flex;flex-direction:column;min-height:0;height:100%}.target-sub-panel-individual .group-member-search{flex-shrink:0;margin-bottom:.5rem}.target-sub-panel-individual .employee-member-picker-list,.target-sub-panel-individual .recipient-pick-list{flex:1 1;min-height:0;max-height:none;overflow-y:auto;margin:0}.target-sub-panel-individual .employee-member-picker-pagination,.target-sub-panel-individual .pagination-row{flex-shrink:0;margin-top:.5rem}.target-sub-panel-individual .employee-member-picker>.hint:last-child{flex-shrink:0;margin:.5rem 0 0}.target-sub-panel-title{font-size:.8125rem;font-weight:700;color:var(--primary);margin:0 0 .5rem}.panel-lead{margin-bottom:.75rem;font-size:.875rem;color:var(--text)}.org-check-list{max-height:360px;overflow-y:auto}.org-check-item{align-items:flex-start;gap:.5rem;padding:.5rem 0}.org-check-item strong{display:block;font-size:.875rem}.recipient-preview-count{margin-top:.75rem;font-size:.875rem;color:var(--primary);font-weight:600}.recipient-preview-link{padding:0;border:none;background:none;color:var(--primary);font-size:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.recipient-preview-link:hover{color:var(--primary-hover,var(--primary))}.recipient-preview-modal-body{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:.75rem;overflow:hidden}.recipient-preview-modal-summary{margin:0;flex-shrink:0}.recipient-preview-modal-list-wrap{flex:1 1;min-height:12rem;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:.5rem 1rem}.recipient-preview-modal-footer{justify-content:flex-end}.recipient-preview-list{list-style:none;margin:0;padding:0}.recipient-preview-item{padding:.3rem 0;border-bottom:1px solid var(--border);font-size:.875rem;line-height:1.35}.recipient-preview-item:last-child{border-bottom:none}.recipient-preview-item-name{font-weight:600}.recipient-preview-item-branch{font-size:.8125rem;color:var(--muted);font-weight:400}.recipient-preview-modal .table-pagination{flex-shrink:0}.branch-panel{margin-top:1rem;max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:.75rem;display:none}.branch-panel.visible{display:block}.branch-area{margin-bottom:1rem}.branch-area h3{font-size:.8125rem;color:var(--primary);margin-bottom:.5rem}.branch-check{display:flex;align-items:center;gap:.5rem;padding:.375rem 0;font-size:.875rem}.image-upload{border:2px dashed var(--border);border-radius:var(--radius);padding:2rem;text-align:center;color:var(--muted);cursor:pointer}.image-preview{margin-top:1rem;border-radius:8px;overflow:hidden;display:none;background:#f1f5f9;aspect-ratio:16/9}.image-preview.visible{display:block}.image-preview img{width:100%;height:100%;display:block;object-fit:cover}.preview-panel{position:-webkit-sticky;position:sticky;top:2rem}.preview-phone{background:#111;border-radius:28px;padding:12px;box-shadow:var(--shadow)}.preview-screen{background:#fff;border-radius:20px;overflow:hidden;min-height:480px}.preview-statusbar{background:#f8fafc;padding:.5rem 1rem;font-size:.6875rem;color:var(--muted);text-align:center;border-bottom:1px solid var(--border)}.preview-push{margin:1rem;padding:.875rem;background:#f8fafc;border-radius:12px;border:1px solid var(--border)}.preview-push .app-name{font-size:.6875rem;color:var(--muted)}.preview-push .push-title{font-weight:700;font-size:.875rem;margin:.25rem 0}.preview-push .push-body{font-size:.8125rem;color:var(--muted)}.preview-detail{padding:1rem}.preview-detail h3{font-size:1rem;margin-bottom:.5rem}.preview-detail p{font-size:.875rem;color:var(--text)}.preview-detail-body{white-space:pre-wrap;margin-bottom:.75rem;line-height:1.5}.preview-attachments{margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border)}.preview-attachments-label{font-size:.75rem;color:var(--muted);margin:0 0 .5rem}.preview-attachment-images{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.preview-attachment-image{width:56px;height:56px;border-radius:6px;overflow:hidden;border:1px solid var(--border);background:#f1f5f9;flex-shrink:0}.preview-attachment-image img{width:100%;height:100%;object-fit:cover;display:block}.attachment-thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));grid-gap:.75rem;gap:.75rem;margin-top:.75rem;max-width:320px}.attachment-thumb{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#f8fafc}.attachment-thumb img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.attachment-thumb-label{display:block;padding:.25rem .35rem;font-size:.6875rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-thumb-link{display:block;color:inherit;text-decoration:none}.attachment-thumb-link:hover{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary-subtle)}.file-chip-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.file-chip{display:inline-flex;align-items:center;gap:.25rem;max-width:100%;padding:.25rem .5rem;background:#f1f5f9;border-radius:6px;font-size:.75rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grace-banner{display:none;background:#fef3c7;border:1px solid #fcd34d;border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1.5rem;align-items:center;justify-content:space-between;gap:1rem}.grace-banner.visible{display:flex}.grace-banner .countdown{font-weight:700;color:var(--warning);font-size:1.25rem}.action-bar{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.detail-grid{display:grid;grid-template-columns:1fr 320px;grid-gap:1.5rem;gap:1.5rem}.detail-grid-sidebar{position:-webkit-sticky;position:sticky;top:1rem;align-self:start}.detail-grid-main,.detail-grid-sidebar{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.detail-grid-main>*{margin-bottom:0!important}.detail-grid-sidebar>.card{margin-bottom:0}.meta-list{list-style:none}.meta-list li{display:flex;justify-content:space-between;padding:.625rem 0;border-bottom:1px solid var(--border);font-size:.875rem}.meta-list li span:first-child{color:var(--muted)}.review-delivery-details{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.review-delivery-details h3{font-size:.95rem;margin-bottom:.75rem}.review-delivery-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.875rem 1.25rem;gap:.875rem 1.25rem}.review-delivery-item dt{font-size:.75rem;color:var(--muted);margin-bottom:.25rem}.review-delivery-item dd{font-size:.875rem;margin:0}.review-delivery-item--wide{grid-column:1/-1}.unread-list{max-height:400px;overflow-y:auto}.unread-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border);font-size:.875rem}.mobile-frame{max-width:390px;margin:0 auto;min-height:100vh;background:#fff;box-shadow:var(--shadow)}.mobile-header{background:var(--primary);color:#fff;padding:3rem 1rem 1rem}.mobile-header.compact{padding-top:1rem}.mobile-header h1{font-size:1.25rem}.mobile-header p{font-size:.8125rem;opacity:.85;margin-top:.25rem}.mobile-back{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;margin-bottom:.75rem;opacity:.9;color:inherit}.notif-list{list-style:none}.notif-item{display:block;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.notif-item.unread{background:var(--primary-subtle)}.notif-item.unread:before{content:"";display:inline-block;width:8px;height:8px;background:var(--primary);border-radius:50%;margin-right:.5rem}.notif-item .title{font-weight:600;font-size:.9375rem}.notif-item .meta{font-size:.75rem;color:var(--muted);margin-top:.25rem}.notif-item .excerpt{font-size:.8125rem;color:var(--muted);margin-top:.375rem}.mobile-detail{padding:1.25rem}.mobile-detail .date{font-size:.8125rem;color:var(--muted);margin-bottom:.75rem}.mobile-detail h2{font-size:1.125rem;margin-bottom:1rem}.mobile-detail .body{font-size:.9375rem;white-space:pre-wrap}.mobile-detail .detail-image{margin:1rem 0;border-radius:8px;overflow:hidden;background:#f1f5f9;aspect-ratio:16/9;display:grid;place-items:center;color:var(--muted);font-size:.875rem}.confirm-btn{display:block;width:100%;margin-top:2rem;padding:1rem;background:var(--primary);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer}.mobile-nav{position:-webkit-sticky;position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border);background:#fff}.mobile-nav a{padding:.875rem;text-align:center;font-size:.8125rem;color:var(--muted)}.mobile-nav a.active{color:var(--primary);font-weight:600}.mobile-header-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.header-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .5rem;background:var(--accent);color:#fff;border-radius:999px;font-size:.75rem;font-weight:700;flex-shrink:0}.header-badge[hidden]{display:none}.filter-bar{display:flex;gap:.5rem;padding:.75rem 1rem;background:#fff;border-bottom:1px solid var(--border);overflow-x:auto}.filter-chip{flex-shrink:0;padding:.5rem .875rem;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--muted);font-size:.8125rem;font-family:inherit;cursor:pointer;transition:all .15s}.filter-chip.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.filter-chip .chip-count{display:inline-block;margin-left:.25rem;font-size:.75rem;opacity:.9}.empty-state{padding:3rem 1.25rem;text-align:center;color:var(--muted);font-size:.875rem}.nav-item-wrap{position:relative;display:flex;gap:.375rem}.nav-badge,.nav-item-wrap{align-items:center;justify-content:center}.nav-badge{display:inline-flex;min-width:1.125rem;height:1.125rem;padding:0 .3rem;background:var(--accent);color:#fff;border-radius:999px;font-size:.625rem;font-weight:700;line-height:1}.nav-badge[hidden]{display:none}.mobile-nav a{display:flex;align-items:center;justify-content:center}@media (max-width:960px){.admin-layout{grid-template-columns:1fr}.sidebar{display:none}.detail-grid,.form-grid,.portal-links,.stats-grid,.stats-grid-3{grid-template-columns:1fr}}.dev-env-banner{position:-webkit-sticky;position:sticky;top:0;z-index:9999;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1rem;padding:.5rem 1rem;background:linear-gradient(90deg,#0e7490,var(--accent-strong));color:#fff;font-size:.8125rem;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.15)}.dev-env-banner strong{background:hsla(0,0%,100%,.2);padding:.125rem .5rem;border-radius:4px;font-size:.75rem}.dev-env-banner span{opacity:.95}body.has-dev-banner .admin-layout,body.has-dev-banner .mobile-frame{min-height:calc(100vh - 36px)}.toolbar-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;align-items:center}.toolbar-row input[type=search],.toolbar-row select{padding:.625rem .75rem;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:.9375rem}.toolbar-row input[type=search]{flex:1 1;min-width:200px}.search-input-group{display:flex;align-items:center;gap:.375rem;width:100%;max-width:28rem}.search-input-group--centered{margin-left:auto;margin-right:auto}.search-input-group input{flex:1 1;min-width:0;padding:.625rem .75rem;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:.9375rem}.search-input-group input:focus{outline:2px solid rgba(37,99,235,.25);border-color:var(--primary)}.search-input-action{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.375rem;height:2.375rem;padding:0;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.search-input-action:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;color:var(--text)}.search-input-action:disabled{opacity:.45;cursor:not-allowed}.search-input-action--primary{color:var(--primary);border-color:#bfdbfe;background:#eff6ff}.search-input-action--primary:hover:not(:disabled){background:#dbeafe;border-color:#93c5fd}.tag-row{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.375rem}.tag{display:inline-block;padding:.125rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:600}.tag-cat{background:#e0e7ff;color:#3730a3}.tag-deadline{color:#b45309}.tag-deadline.soon{background:#ffedd5;color:#c2410c}.tag-deadline.over{background:#f1f5f9;color:#64748b;text-decoration:line-through}.badge-imp-high{background:#fee2e2;color:#b91c1c}.badge-imp-medium{background:#fef3c7;color:#b45309}.badge-imp-low{background:#e2e8f0;color:#475569}.badge-unpublished{background:#f1f5f9;color:#64748b}.badge-archived{background:#e0e7ff;color:#4338ca}.sort-card h2{font-size:1rem;margin-bottom:.5rem}.sort-list{list-style:none}.sort-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;margin-bottom:.5rem;background:#fff;transition:border-color .15s,box-shadow .15s,opacity .15s}.sort-item.is-dragging{opacity:.45}.sort-item.sort-drag-over{border-color:var(--primary);box-shadow:0 0 0 2px rgba(0,91,172,.2)}.sort-drag-handle{display:grid;place-items:center;width:1.75rem;height:2rem;flex-shrink:0;color:var(--muted);font-size:1rem;line-height:1;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:4px}.sort-drag-handle:hover{color:var(--primary);background:var(--primary-subtle)}.sort-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.sort-item .sort-rank{width:1.75rem;height:1.75rem;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:.75rem;font-weight:700;flex-shrink:0}.sort-item .sort-title{flex:1 1;font-size:.875rem}.sort-item .sort-actions{display:flex;gap:.25rem}.sort-item button{padding:.25rem .5rem;border:1px solid var(--border);border-radius:4px;background:#fff;cursor:pointer;font-size:.75rem}.mobile-search-bar{padding:.75rem 1rem;background:#fff;border-bottom:1px solid var(--border)}.mobile-search-bar input,.mobile-search-bar select{width:100%;padding:.625rem .75rem;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:.875rem;margin-bottom:.5rem}.user-summary-strip{display:flex;gap:.5rem;padding:.5rem 1rem;background:#f8fafc;border-bottom:1px solid var(--border);font-size:.75rem;color:var(--muted);flex-wrap:wrap}.user-summary-strip strong{color:var(--text)}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;align-items:start}.form-field--checkbox{display:flex;flex-direction:column}.form-field--checkbox:before{content:"";display:block;height:calc(.875rem * 1.5 + .375rem);flex-shrink:0}.form-field--checkbox .checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:500;min-height:calc(.75rem * 2 + 1.40625rem + 2px);margin-top:0;margin-bottom:0;cursor:pointer}.form-field--checkbox .checkbox-label input[type=checkbox]{width:auto;margin:0;cursor:pointer}.check-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:400;cursor:pointer}.check-row input[type=checkbox]{width:auto;margin:0;cursor:pointer}@media (max-width:600px){.form-grid-2{grid-template-columns:1fr}.form-field--checkbox:before{display:none}.form-field--checkbox .checkbox-label{min-height:auto}}.nav-section-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:hsla(0,0%,100%,.45);padding:1rem 1rem .375rem}.settings-list{list-style:none}.info-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}.info-card h3{font-size:.9375rem;margin-bottom:.5rem}.admin-db-intro{margin-bottom:0}.settings-panel-header .admin-db-intro h3{font-size:1rem;margin-bottom:.5rem}.admin-db-intro-meta{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-muted)}.group-create-panel{padding:1rem;border:1px solid var(--border);border-radius:8px;background:#f8fafc;margin-bottom:1rem}.group-create-panel h3{font-size:.9375rem;margin:0 0 .75rem}.group-create-panel .admin-db-form-checks{display:flex;flex-wrap:wrap;gap:1rem;margin:.75rem 0}.group-admin-item{flex-direction:column;align-items:stretch!important}.group-member-editor{width:100%;margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border)}.settings-panel--admin-db{--settings-visible-rows:5;margin-top:1rem}.settings-panel--admin-db-compact{max-height:none;overflow:visible;border:none;padding:0}.settings-panel--admin-db .settings-item:not(.group-admin-item){flex-wrap:nowrap}.settings-panel--admin-db .settings-item-main{flex:1 1;min-width:0}.settings-panel--admin-db .settings-item-actions{flex-shrink:0}.settings-panel,.settings-panel-message{--settings-visible-rows:10;--settings-row-height:3.5rem}.settings-panel--fixed{min-height:calc(var(--settings-visible-rows) * var(--settings-row-height))}.settings-panel--scroll{max-height:calc(var(--settings-visible-rows) * var(--settings-row-height));overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);padding:0 .5rem;margin-top:1rem}.settings-panel--categories,.settings-panel-message--categories{--settings-visible-rows:4;--settings-row-height:7rem}.settings-panel--sync-errors{--sync-error-row-height:1.75rem;--sync-error-bottom-padding:0.5rem;height:calc(5 * var(--sync-error-row-height) + var(--sync-error-bottom-padding));overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);padding:0 .5rem var(--sync-error-bottom-padding);margin-top:1rem}.settings-panel--sync-errors .settings-item-compact{padding:0;min-height:unset;height:var(--sync-error-row-height);line-height:var(--sync-error-row-height);border-bottom:none;align-items:center}.settings-panel--sync-errors .settings-item-compact .hint{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-panel--sync-errors .settings-item-main{min-width:0}.settings-panel-message{display:flex;align-items:center;justify-content:center;min-height:calc(var(--settings-visible-rows) * var(--settings-row-height));margin:1rem 0 0}.sync-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));grid-gap:.75rem;gap:.75rem}.sync-stat{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;background:var(--surface)}.sync-stat--static{opacity:.85}.sync-stat--toggle{width:100%;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.sync-stat--toggle:hover{box-shadow:0 1px 4px rgba(0,0,0,.06)}.sync-stat--toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sync-stat-warning.sync-stat--toggle{border-color:#f59e0b;background:#fffbeb}.sync-stat-warning.sync-stat--toggle:hover{background:#fef3c7}.sync-stat-error.sync-stat--toggle{border-color:#f87171;background:#fef2f2}.sync-stat-error.sync-stat--toggle:hover{background:#fee2e2}.sync-stat-action{display:block;margin-top:.375rem;font-size:.6875rem;font-weight:500;color:var(--text-muted);line-height:1.3}.sync-stat-warning.sync-stat--toggle .sync-stat-action{color:#b45309}.sync-stat-error.sync-stat--toggle .sync-stat-action{color:var(--danger)}.sync-stat .label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem}.sync-stat-warning.sync-stat--static{border-color:#f59e0b;background:#fffbeb}.sync-stat-error.sync-stat--static{border-color:#f87171;background:#fef2f2}.sync-stat-warn{border-color:#fecaca;background:#fef2f2}.sync-stat-warn strong{color:var(--danger)}.settings-item-error{flex-wrap:wrap;gap:.5rem}.sync-stat-warning strong{color:#b45309}.sync-stat-error strong{color:var(--danger)}.settings-panel--sync-log{--sync-error-row-height:1.75rem;--sync-error-bottom-padding:0.5rem;height:calc(5 * var(--sync-error-row-height) + var(--sync-error-bottom-padding));overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);padding:0 .5rem var(--sync-error-bottom-padding);margin-top:.75rem}.settings-panel--sync-log-warning{border-color:#fcd34d;background:#fffbeb}.settings-panel--sync-log-error{border-color:#fecaca;background:#fef2f2}.sync-log-modal-overlay{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.4);padding:1.5rem}.sync-log-modal{width:min(42rem,100%);max-height:calc(100vh - 3rem);display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius);box-shadow:0 20px 50px rgba(15,23,42,.2);border:1px solid var(--border)}.sync-log-modal--warning{border-color:#fcd34d}.sync-log-modal--error{border-color:#fecaca}.sync-log-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.sync-log-modal-header h3{margin:0;font-size:1rem;font-weight:600}.sync-log-modal--warning .sync-log-modal-header h3{color:#b45309}.sync-log-modal--error .sync-log-modal-header h3{color:var(--danger)}.sync-log-modal-close{flex-shrink:0;width:2rem;height:2rem;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:1.5rem;line-height:1;cursor:pointer}.sync-log-modal-close:hover{background:var(--border);color:var(--text)}.sync-log-modal-body{--sync-log-row-height:1.75rem;height:min(calc(20 * var(--sync-log-row-height)),calc(100vh - 8rem));min-height:min(calc(20 * var(--sync-log-row-height)),calc(100vh - 8rem));overflow-y:auto;padding:.5rem 1rem 1rem}.sync-log-modal-body .settings-item-compact{height:auto;min-height:var(--sync-log-row-height);line-height:1.4;padding:.35rem 0;align-items:flex-start}.sync-log-modal-body .settings-item-compact .sync-log-modal-line{color:var(--text);font-size:.875rem;line-height:1.4;white-space:normal}.sync-log-modal-body .settings-item-main{min-width:0;display:flex;align-items:flex-start}.settings-item-placeholder{visibility:hidden;pointer-events:none}.settings-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.settings-item.inactive{opacity:.75;background:#f8fafc;margin:0 -.5rem;padding:.875rem .5rem;border-radius:8px}.settings-item-main{flex:1 1;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:200px}.settings-item-main .cat-input{padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;font-family:inherit;min-width:160px}.settings-panel--categories .settings-item{flex-wrap:nowrap;align-items:flex-start}.settings-panel--categories .settings-item-main{flex:1 1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);grid-gap:.375rem;gap:.375rem}.settings-panel--categories .settings-item-main .cat-input{width:100%;min-width:0;max-width:none;flex:none;box-sizing:border-box}.settings-item-actions{display:flex;gap:.375rem;flex-wrap:wrap}.settings-panel--categories .settings-item-actions{flex:0 0 16.5rem;width:16.5rem;min-width:16.5rem;align-self:center;display:grid;grid-template-columns:repeat(3,max-content);grid-gap:.375rem;gap:.375rem;justify-content:end}.settings-panel--categories .settings-item-actions>.settings-item-action--col1{grid-column:1}.settings-panel--categories .settings-item-actions>.settings-item-action--col2{grid-column:2}.settings-panel--categories .settings-item-actions>.settings-item-action--col3{grid-column:3}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.add-category-row{display:grid;grid-template-columns:minmax(0,1fr) 16.5rem;grid-gap:1rem;gap:1rem;margin-top:1rem;align-items:center}.add-category-row input{width:100%;min-width:0;box-sizing:border-box;padding:.625rem .75rem;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:inherit;line-height:1.25}.add-category-row .btn{width:auto;max-width:100%;justify-self:end;align-self:center;white-space:nowrap}.file-upload{border:2px dashed var(--border);border-radius:var(--radius);padding:1.5rem;text-align:center;color:var(--muted);cursor:pointer;font-size:.875rem}.file-list{list-style:none;margin:0;padding:0}.file-list-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.file-list-item:last-child{border-bottom:none}.file-list-item-label,.file-list-item>span:first-child{flex:1 1;min-width:0;display:flex;align-items:center;gap:.35rem;overflow:hidden}.file-list-item-label-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-type-icon{flex-shrink:0;width:1.125rem;text-align:center;font-size:.875rem;line-height:1}.file-type-icon-image{color:var(--primary)}.file-type-icon-svg{width:1rem;height:1rem;display:block}.file-list-item .btn,.file-list-item a.btn{flex-shrink:0;margin-left:.5rem}.resend-section{margin-top:1.5rem}.resend-card{border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem;background:#fafbfc}.resend-card h3{font-size:.9375rem;margin-bottom:.5rem}.resend-card-primary{border-color:var(--primary);background:var(--primary-subtle)}.recipient-check{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem 0;font-size:.875rem;border-bottom:1px solid var(--border)}.recipient-check:last-child{border-bottom:none}.recipient-check .recipient-meta{font-size:.75rem;color:var(--muted)}.group-member-search{width:100%;margin:.35rem 0 .75rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px}.custom-groups-header,.settings-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.custom-groups-table-wrap,.settings-data-table-wrap{margin-top:1rem;overflow-x:auto}.settings-data-table-scroll-hint{margin:1rem 0 .5rem}.settings-data-table-scroll-hint+.settings-data-table-wrap{margin-top:0}.settings-data-table-wrap--scroll{--settings-data-visible-rows:5;--settings-data-row-height:3rem;--settings-data-header-height:2.75rem;max-height:calc(var(--settings-data-header-height) + var(--settings-data-visible-rows) * var(--settings-data-row-height));overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius)}.settings-data-table-wrap--scroll .settings-data-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--surface,#fff);box-shadow:0 1px 0 var(--border)}.custom-groups-table,.settings-data-table{width:100%;border-collapse:collapse;table-layout:fixed}.custom-groups-table td,.custom-groups-table th,.settings-data-table td,.settings-data-table th{padding:.75rem .5rem;border-bottom:1px solid var(--border);vertical-align:middle;text-align:left}.custom-groups-table th,.settings-data-table th{font-size:.8125rem;color:var(--text-muted);font-weight:600}.custom-groups-table .col-stt,.settings-data-table .col-stt{width:3rem;color:var(--text-muted)}.custom-groups-table .col-actions,.settings-data-table .col-actions{width:9rem;white-space:nowrap}.settings-data-cell-ellipsis{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-groups-actions,.settings-data-actions{display:flex;gap:.375rem;flex-wrap:wrap}.custom-groups-table .col-name{width:14rem}.custom-groups-table .col-members{width:auto}.custom-groups-name{font-weight:600}.custom-groups-count{display:inline;font-weight:400}.custom-groups-member-summary{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}.admin-users-table .col-id{width:7rem}.admin-users-table .col-name{width:9rem}.admin-users-table .col-dept,.admin-users-table .col-role{width:8rem}.form-modal-overlay{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.4);padding:1.5rem}.form-modal{width:min(36rem,100%);max-height:calc(100vh - 3rem);display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius);box-shadow:0 20px 50px rgba(15,23,42,.2);border:1px solid var(--border)}.form-modal-lg{width:min(40rem,100%);min-height:min(34rem,calc(100vh - 4rem))}.form-modal-lg.recipient-preview-modal{max-height:calc(100vh - 3rem)}.form-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 2rem;border-bottom:1px solid var(--border)}.form-modal-header h3{margin:0;font-size:1rem}.form-modal-close{border:none;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--text-muted)}.form-modal-body{padding:1.5rem 2rem 0;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.form-modal-body .form-field{margin-bottom:1rem}.form-modal-body .form-field input,.form-modal-body .form-field select{width:100%;margin-top:.35rem}.form-modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 0 1.5rem;margin-top:0;border-top:1px solid var(--border);flex-shrink:0}.recipient-preview-modal>.form-modal-footer{padding:1rem 2rem 1.5rem}.form-modal-fields--static{flex:none}.form-modal .admin-db-form-checks{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.25rem}.form-modal .admin-db-form-checks .recipient-check{border-bottom:none;padding:0}.admin-user-form-stack .form-field{margin-bottom:0}.admin-user-form-stack .form-field+.admin-db-form-checks,.admin-user-form-stack .form-field+.form-field{margin-top:1rem}.form-modal-body input[readonly],.input-readonly{background:#f8fafc;color:var(--text-muted,#64748b);cursor:default}.password-input-wrap{position:relative;width:100%}.form-modal-body .form-field .password-input-wrap{margin-top:.35rem}.login-form-field .password-input-wrap,.pw-page-field .password-input-wrap{margin-top:0}.password-input-wrap input{width:100%;padding-right:3.5rem}.password-input-toggle{position:absolute;top:50%;right:.35rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;padding:0}.password-input-toggle:hover{color:var(--primary);background:#f8fafc}.password-input-toggle-icon{width:1.125rem;height:1.125rem}.form-modal-lg .form-modal-body{flex:1 1;overflow:hidden}.form-modal-lg .form-modal-fields{flex:1 1;display:flex;flex-direction:column;min-height:0;gap:.25rem}.form-modal-lg .form-modal-fields .form-field{flex-shrink:0;margin-bottom:.75rem}.form-modal-lg .employee-member-select,.form-modal-lg .employee-member-select-dropdown{flex:1 1;display:flex;flex-direction:column;min-height:0}.form-modal-lg .employee-member-select-dropdown{position:static;margin-top:.5rem}.form-modal-lg .employee-member-select-list{flex:1 1;max-height:none;min-height:14rem;overflow-y:auto}.employee-member-select{position:relative}.employee-member-select-trigger{width:100%;margin-top:.35rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:.5rem;cursor:pointer;text-align:left}.employee-member-select-trigger.open{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle,rgba(59,130,246,.15))}.employee-member-select-chevron{font-size:.75rem;color:var(--text-muted)}.employee-member-select-chips{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}.employee-member-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:999px;background:#f1f5f9;font-size:.8125rem}.employee-member-chip-remove{border:none;background:transparent;cursor:pointer;color:var(--text-muted);line-height:1;padding:0}.employee-member-select-dropdown{position:absolute;z-index:20;left:0;right:0;margin-top:.35rem;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.12)}.employee-member-select-list{max-height:220px;margin:.5rem 0 0}.employee-member-select-pagination{margin-top:.5rem}.employee-member-select-error{color:var(--danger);margin:.25rem 0 0}.employee-single-select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-single-select-list{max-height:220px}.employee-single-select-option{display:block;width:100%;padding:.5rem 0;border:none;border-bottom:1px solid var(--border);background:transparent;text-align:left;font:inherit;font-size:.875rem;cursor:pointer}.employee-single-select-option:last-child{border-bottom:none}.employee-single-select-option.selected,.employee-single-select-option:hover{background:#f8fafc}.form-modal .employee-member-select-dropdown{position:static;margin-top:.35rem}.recipient-pick-list{max-height:240px;overflow-y:auto;margin:.75rem 0}.collapse-toggle{background:none;border:none;color:var(--primary);font-size:.875rem;font-weight:600;cursor:pointer;padding:0;font-family:inherit}.collapse-panel{display:none;margin-top:1rem}.collapse-panel.open{display:block}.audit-log-mini-card-body{padding:0}.audit-log-mini-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1rem .5rem}.audit-log-mini-header h2{font-size:1rem;margin:0}.audit-log-mini-header a{font-size:.8125rem;white-space:nowrap}.audit-log-mini-scroll{overflow-x:auto}.audit-log-mini{width:100%;min-width:28rem;font-size:.8125rem}.audit-log-mini td,.audit-log-mini th{padding:.5rem .75rem;vertical-align:top}.audit-log-mini .badge{white-space:nowrap}.audit-log-mini-empty,.audit-log-mini-footnote{margin:0;padding:.75rem 1rem 1rem}.resend-history{list-style:none;font-size:.8125rem;color:var(--muted)}.resend-history li{padding:.375rem 0;border-bottom:1px solid var(--border)}.notif-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:.5rem}.notif-stat-card{gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}.notif-stat-card,.notif-stat-link{display:flex;flex-direction:column;color:inherit}.notif-stat-link{flex:1 1;min-height:0}.notif-stat-card:hover{border-color:var(--primary);transform:translateY(-2px)}.notif-stat-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.9375rem;min-height:1.375rem}.notif-stat-header strong{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-stat-card .tag-row{min-height:1.625rem;align-items:center}.notif-stat-rate{display:flex;align-items:baseline;gap:.75rem;margin-top:.25rem}.notif-stat-rate .rate-big{font-size:2rem;font-weight:700;line-height:1}.notif-stat-footer{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--muted);margin-top:.5rem}.notif-stat-footer-meta{display:flex;align-items:center;gap:.75rem;min-width:0}.notif-stat-footer-target{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-stat-footer-date{font-size:inherit;color:inherit}.snapshot-banner{padding:.875rem 1rem;margin:0 0 1rem;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;font-size:.875rem;line-height:1.6}.mobile-archive-note{padding:.625rem 1rem;font-size:.75rem;background:#f8fafc;line-height:1.5}.dash-tabs,.mobile-archive-note{border-bottom:1px solid var(--border)}.dash-tabs{display:flex;gap:0;margin-bottom:.5rem}.dash-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-bottom:2px solid transparent;padding:.625rem 1.25rem;font-family:inherit;font-size:.9375rem;font-weight:600;color:var(--muted);cursor:pointer;margin-bottom:-1px;display:inline-flex;align-items:center;gap:.375rem}.dash-tab:hover{color:var(--text)}.dash-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.dash-tab-hint{margin-bottom:1.25rem}.dash-tab .nav-badge{font-size:.6875rem;min-width:1.25rem;height:1.25rem}.nav-item-with-badge{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.nav-item-with-badge .nav-badge{flex-shrink:0}.badge-action-required{background:#dbeafe;color:#1d4ed8}tr.clickable-row{cursor:pointer}tr.clickable-row:hover{background:var(--primary-subtle)}.approval-table-wrap{padding:0;overflow-x:auto}.approval-table{width:100%;border-collapse:collapse}.approval-table td,.approval-table th{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.approval-table th{font-size:.8125rem;font-weight:600;color:var(--muted);white-space:nowrap}.approval-table-empty{padding:1rem;margin:0}.approval-route-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.approval-route-legend-item{flex:1 1;min-width:220px;padding:.875rem 1rem;border-radius:8px;border:1px solid var(--border);display:flex;flex-direction:column;gap:.25rem;font-size:.9375rem}.approval-route-legend-item strong{font-size:1rem}.approval-route-legend-item span{color:var(--muted)}.approval-route-legend-item.approval-dest-hr{background:#eff6ff;border-color:#bfdbfe}.approval-route-legend-item.approval-dest-hr strong{color:#1d4ed8}.approval-route-legend-item.approval-dest-ga{background:#f0fdf4;border-color:#bbf7d0}.approval-route-legend-item.approval-dest-ga strong{color:#15803d}.approval-dest-badge{font-size:.875rem;font-weight:600;white-space:nowrap}.approval-dest-badge.approval-dest-hr{color:#1d4ed8}.approval-dest-badge.approval-dest-ga{color:#15803d}.approval-thread{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.approval-thread-item{padding:.75rem 1rem;background:#f8fafc;border-radius:8px;border-left:3px solid var(--border)}.approval-thread-item.approval-thread-reject{border-left-color:var(--danger);background:#fef2f2}.approval-thread-item.approval-thread-approve{border-left-color:var(--success)}.approval-thread-item.approval-thread-resubmit{border-left-color:var(--primary)}.approval-thread-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:.8125rem}.approval-thread-item p{margin:0;font-size:.875rem;white-space:pre-wrap}.detail-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1.5rem;gap:1.5rem;margin-bottom:1.5rem}.detail-history-grid .card{margin-bottom:0}.approval-comment-history-card{margin-bottom:1.5rem}.detail-history-grid .approval-comment-history-card{margin-bottom:0}.detail-history-grid-single{grid-template-columns:1fr}.detail-history-card-body{padding:1rem}.detail-history-card-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.detail-history-card-header h2{font-size:1rem;margin:0;display:flex;align-items:center;gap:.5rem}.detail-history-card-header a{font-size:.8125rem;white-space:nowrap}.detail-history-count{font-size:.75rem;font-weight:500;color:var(--muted)}.detail-history-empty{margin:0}.detail-history-footnote{margin:.75rem 0 0}.audit-log-action,.audit-log-date,.audit-log-target{white-space:nowrap}.audit-log-target{min-width:8rem;max-width:16rem;overflow:hidden;text-overflow:ellipsis}@media (max-width:960px){.detail-history-grid{grid-template-columns:1fr}}.input-full-width{width:100%;max-width:none;box-sizing:border-box}.view-mode-tabs{display:flex;gap:.25rem;margin:1.25rem 0 .5rem;padding:.25rem;background:#e8eef5;border-radius:10px;width:-moz-fit-content;width:fit-content}.view-mode-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-radius:8px;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;color:var(--muted);cursor:pointer}.view-mode-tab:hover{color:var(--text)}.view-mode-tab.active{background:var(--surface);color:var(--primary);box-shadow:0 1px 3px rgba(15,23,42,.08)}.view-mode-hint{margin-bottom:1rem}.card-mode-toolbar{align-items:center}.card-include-done{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;white-space:nowrap;cursor:pointer}.card-include-done input{margin:0}.pagination{justify-content:flex-end}.pagination,.table-pagination{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.table-pagination{flex-wrap:wrap}.login-frame{display:flex;flex-direction:column}.login-header{text-align:center;padding-bottom:1.5rem}.login-app-mark{width:72px;height:72px;margin:0 auto 1rem;border-radius:18px;background:hsla(0,0%,100%,.15);display:grid;place-items:center;font-size:2rem}.login-body{padding:1.5rem 1.25rem 2rem;flex:1 1}.login-lead{font-size:.9375rem;margin-bottom:.75rem}.login-note{margin-bottom:1.5rem;line-height:1.5}.login-meta{display:flex;flex-direction:column;gap:.35rem;align-items:center;margin-top:1.5rem;text-align:center}.login-lang-badge{display:inline-block;padding:.25rem .625rem;border-radius:999px;background:var(--primary-subtle);color:var(--primary-dark);font-size:.75rem;font-weight:600}.login-page{min-height:100vh;display:grid;place-items:center;padding:2rem;background:linear-gradient(135deg,#003d73 0,var(--primary) 50%,var(--primary-light) 100%)}.login-shell{width:100%;max-width:420px}.login-card{background:var(--surface);border-radius:20px;padding:2.5rem 2rem;box-shadow:var(--shadow)}.login-card h1{font-size:1.5rem;margin-bottom:.75rem;text-align:center}.login-card-error h1{color:var(--danger);font-size:1.25rem}.login-card .login-lead{text-align:center;color:var(--muted)}.login-card .login-note{text-align:center;margin-bottom:1.25rem}.login-card .login-meta{margin-top:1.25rem}.login-card label{display:block;font-size:.8125rem;font-weight:600;margin-bottom:.25rem}.login-form-password-label{margin-top:.75rem}.login-form-field{margin-bottom:0}.login-form-password-field{margin-top:.75rem}.login-form-submit{margin-top:1rem}.login-resume{margin-bottom:1rem;padding:.75rem;background:var(--primary-subtle);border-radius:8px}.login-resume a{color:var(--primary);font-weight:600}.login-error{color:var(--danger);margin-top:.5rem}.api-status-banner{padding:.5rem 1rem;margin-bottom:1rem;border-radius:8px;font-size:.8125rem;font-weight:500}.api-status-checking{background:var(--primary-subtle);color:var(--primary-dark)}.api-status-connected{background:#ecfdf5;color:#047857}.api-status-unreachable{background:#fef3c7;color:#92400e}.admin-recipient-page,.recipient-only-layout{min-height:100vh}.admin-recipient-page .recipient-in-admin,.recipient-only-layout .recipient-in-admin{padding:2rem;display:flex;flex-direction:column;min-height:100vh;overflow:auto;box-sizing:border-box}.recipient-app{max-width:720px;margin:0 auto}.recipient-app,.recipient-app-in-admin{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.recipient-app-in-admin{--recipient-inset:1.5rem;max-width:none;width:100%;margin:0;min-height:auto;flex:1 1;display:flex;flex-direction:column}.recipient-pc-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.recipient-pc-header h1{font-size:1.125rem;margin:0}.recipient-pc-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.recipient-toolbar{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border);box-sizing:border-box}.recipient-toolbar input,.recipient-toolbar select{font:inherit;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:#fff;width:100%;min-width:0;box-sizing:border-box}.recipient-feed-tabs{padding:0 1rem}.recipient-archive-note{padding:.75rem 1rem;font-size:.8125rem}.recipient-app-in-admin .empty-state,.recipient-app-in-admin .filter-bar,.recipient-app-in-admin .recipient-archive-note,.recipient-app-in-admin .recipient-detail,.recipient-app-in-admin .recipient-detail-header,.recipient-app-in-admin .recipient-feed-tabs,.recipient-app-in-admin .recipient-load-error,.recipient-app-in-admin .recipient-notif-list,.recipient-app-in-admin .recipient-toolbar,.recipient-app-in-admin .table-pagination,.recipient-app-in-admin .user-summary-strip{margin-left:var(--recipient-inset);margin-right:var(--recipient-inset);padding-left:0;padding-right:0;width:auto;box-sizing:border-box}.recipient-app-in-admin .recipient-toolbar{padding-top:.75rem;padding-bottom:.75rem}.recipient-app-in-admin .recipient-toolbar-top{padding-top:1rem}.recipient-app-in-admin .recipient-feed-tabs{display:flex;margin-bottom:1rem}.recipient-app-in-admin .filter-bar,.recipient-app-in-admin .user-summary-strip{gap:1.25rem;padding-top:1rem;padding-bottom:1rem}.recipient-app-in-admin .user-summary-strip{font-size:1rem}.recipient-app-in-admin .user-summary-strip strong{font-size:1.125rem}.recipient-app-in-admin .filter-bar{gap:.75rem}.recipient-app-in-admin .filter-chip{padding:.625rem 1.25rem;font-size:.9375rem}.recipient-app-in-admin .filter-chip .chip-count{font-size:.875rem}.recipient-app-in-admin .recipient-notif-list{padding-bottom:1.5rem}.recipient-notif-list .notif-item{padding:1.125rem 1.25rem;transition:background .15s}.recipient-notif-list .notif-item .title{font-weight:600;font-size:.9375rem;line-height:1.4}.recipient-notif-list .notif-item .excerpt,.recipient-notif-list .notif-item .meta{font-size:.8125rem}.recipient-app-in-admin .recipient-archive-note{padding-top:.75rem;padding-bottom:.75rem;margin:.75rem var(--recipient-inset) 0}.recipient-app-in-admin .recipient-detail{padding:1.25rem 0;flex:1 1}.recipient-app-in-admin .recipient-detail h2{margin:.75rem 0;line-height:1.35}.recipient-notif-list .notif-item:hover{background:#f8fafc}.recipient-load-error{padding-top:1rem;padding-bottom:0}.recipient-detail-header{padding:.75rem 0;border-bottom:1px solid var(--border)}.recipient-feed-tabs-lg .dash-tab{font-size:1rem;padding:.75rem 1.25rem}.recipient-feed-tabs-lg .nav-badge{margin-left:.35rem}.recipient-page-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.recipient-page-header h1{font-size:1.125rem;margin:0}.tag-action{background:#fee2e2;color:#b91c1c}.tag-deadline{background:#fef3c7;color:#92400e}.submit-loading-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.35);padding:1.5rem}.submit-loading-panel{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem 2rem;max-width:24rem;text-align:center}.submit-loading-spinner{width:2rem;height:2rem;margin:0 auto 1rem;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:submit-loading-spin .8s linear infinite}@keyframes submit-loading-spin{to{transform:rotate(1turn)}}.submit-loading-message{margin:0;font-size:.9375rem;line-height:1.6;color:var(--text)}.page-header-block{display:block;margin-bottom:0}.pw-page-stack{width:100%;max-width:28rem}.pw-page-intro{margin:0 0 1.25rem;line-height:1.6}.pw-page-card{width:100%;overflow:hidden}.pw-page-card .card-body{padding:1.5rem 1.5rem 1.25rem}.pw-page-form{padding:0}.pw-page-user{margin:0 0 1.5rem;padding:.75rem 1rem;background:var(--primary-subtle);border-radius:8px;font-size:.9375rem;font-weight:600;line-height:1.5;word-break:break-word;overflow-wrap:anywhere}.pw-page-field{margin-bottom:1.25rem}.pw-page-field:last-of-type{margin-bottom:0}.pw-page-field label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem;color:var(--text)}.pw-page-field input{display:block;width:100%;max-width:100%;min-width:0;padding:.6875rem .875rem;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:1rem;box-sizing:border-box;background:#fff}.pw-page-field .password-input-wrap input{padding-right:3.5rem}.pw-page-field input:focus{outline:2px solid var(--primary-subtle);border-color:var(--primary)}.pw-field-hint{margin:.5rem 0 0;font-size:.8125rem;line-height:1.5}.pw-page-form-footer{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.pw-page-submit{width:100%;margin-top:.75rem;padding:.75rem 1rem;font-size:1rem;justify-content:center}.pw-form-message{margin:0;min-height:1.25rem;line-height:1.5}.pw-page-content{width:100%;background:var(--surface);flex:1 1;padding:1.5rem;box-sizing:border-box;overflow-x:auto}.pw-page-header{margin-bottom:1.25rem}.pw-page-header h1{font-size:1.375rem;margin:0 0 .5rem}.pw-page-header .hint{margin:0;line-height:1.6}.pw-page-admin-wrap{padding:1.5rem 2rem}.recipient-back{display:inline-block;margin-bottom:.75rem;font-size:.875rem;color:var(--primary)}.recipient-back:hover{text-decoration:underline}