.rowa-portal-wrap{margin:24px 0}.rowa-portal-card{background:#fff;border:1px solid #dcdcde;border-radius:12px;padding:24px;box-shadow:0 1px 2px rgba(0,0,0,.04)}.rowa-portal-nav{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding:0 0 18px;border-bottom:1px solid #e5e7eb}.rowa-portal-nav-link{display:inline-block;padding:9px 14px;border:1px solid #cbd5e1;border-radius:999px;text-decoration:none;background:#f8fafc;color:#0f172a}.rowa-portal-nav-link.is-active{background:#2271b1;border-color:#2271b1;color:#fff}.rowa-portal-view-switch{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px}.rowa-portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0 24px}.rowa-portal-stat{border:1px solid #e2e8f0;border-radius:10px;padding:16px;background:#f8fafc}.rowa-portal-stat strong{display:block;margin-bottom:6px}.rowa-portal-stat span{font-size:28px;font-weight:700}.rowa-portal-form input,.rowa-portal-form select,.rowa-portal-form textarea,.rowa-portal-filter select{width:100%;max-width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.rowa-portal-button{display:inline-block;background:#2271b1;color:#fff!important;text-decoration:none;padding:10px 16px;border-radius:8px;border:none;margin-right:8px}.rowa-portal-button-small{padding:8px 12px;font-size:.92em;white-space:nowrap}.rowa-portal-button-secondary{background:#475569}.rowa-portal-button-danger{background:#b42318}.rowa-portal-button[disabled],button[disabled].rowa-portal-button{opacity:.6;cursor:not-allowed}.rowa-portal-table{width:100%;border-collapse:collapse}.rowa-portal-table th,.rowa-portal-table td{padding:12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}.rowa-portal-subnote{margin-top:6px;font-size:.92em;color:#475569}.rowa-portal-inline-reply{margin-top:12px;padding:12px;border:1px solid #dbe3ea;border-radius:10px;background:#f8fafc}.rowa-portal-inline-reply .rowa-portal-form p{margin:8px 0}.rowa-portal-help{color:#475569;margin:0 0 14px}.rowa-portal-notice{padding:12px 14px;border-radius:8px;margin-bottom:16px}.rowa-portal-notice-success{background:#ecfdf3;border:1px solid #86efac;color:#166534}.rowa-portal-notice-error{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.rowa-portal-thread{display:grid;gap:12px}.rowa-portal-thread-item{padding:14px;border-radius:10px;border:1px solid #dbe3ea;background:#f8fafc}.rowa-portal-thread-item.is-client{background:#eef6ff;border-color:#bfdbfe}.rowa-portal-thread-item.is-internal{background:#f8fafc;border-color:#dbe3ea}.rowa-portal-thread-meta{font-size:.9em;color:#475569;margin-bottom:6px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.rowa-portal-thread-text{line-height:1.5}.rowa-portal-attachments{margin:10px 0 0 18px}.rowa-portal-attachments li{margin:4px 0}.rowa-portal-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0 18px}.rowa-portal-filter select{width:auto;min-width:220px}.rowa-portal-manager-box{margin:18px 0;padding:16px;border:1px solid #dbe3ea;border-radius:10px;background:#f8fafc}.rowa-portal-collapsible{padding:0;overflow:hidden}.rowa-portal-collapsible summary{cursor:pointer;list-style:none;padding:16px;font-size:1.05em}.rowa-portal-collapsible summary::-webkit-details-marker{display:none}.rowa-portal-collapsible summary::after{content:'+';float:right;color:#475569}.rowa-portal-collapsible[open] summary::after{content:'−'}.rowa-portal-collapsible-body{padding:0 16px 16px}.rowa-portal-manager-editor{margin-top:24px}.rowa-portal-checkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 12px}.rowa-portal-check{display:block}.rowa-portal-project-header{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.rowa-portal-project-list{margin:14px 0 0 18px}.rowa-portal-project-list li{margin:0 0 10px}.rowa-portal-status-pills{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 6px}.rowa-portal-status-pill{display:inline-block;padding:6px 10px;border-radius:999px;background:#e2e8f0;color:#0f172a;font-size:.9em}.rowa-portal-status-pill.is-new{background:#dbeafe;color:#1d4ed8}.rowa-portal-status-pill.is-review{background:#ede9fe;color:#6d28d9}.rowa-portal-status-pill.is-planned{background:#fef3c7;color:#b45309}.rowa-portal-status-pill.is-in_progress{background:#cffafe;color:#0f766e}.rowa-portal-status-pill.is-waiting_for_client{background:#fee2e2;color:#b91c1c}.rowa-portal-status-pill.is-done{background:#dcfce7;color:#15803d}.rowa-portal-status-pill.is-empty{background:#f1f5f9;color:#475569}.rowa-portal-delete-form{margin-top:12px}