/* Advocatus Pro Phase 4: isolated additions, inherits Phase 1–3 design tokens */
.p4-chip {display:inline-block;padding:.35rem .7rem;background:#eaf0f8;color:#193856;border-radius:40px;font-size:.75rem;font-weight:700}
.p4-chip-green{background:#e5f7eb;color:#116036}.p4-columns{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:18px;align-items:start}
.p4-columns>*{min-width:0}.p4-sub{display:block;margin-top:4px;color:#8291a5;font-size:.73rem}.p4-search{display:flex;gap:9px}.p4-search input{width:100%;min-width:0;padding:10px 12px;border:1px solid #dde5ed;border-radius:8px}
.p4-form{padding:20px;display:flex;flex-direction:column;gap:16px}.p4-form .field{display:flex;flex-direction:column;gap:7px}.p4-form input,.p4-form select,.p4-form textarea,.p4-stack input,.p4-stack select{width:100%;min-width:0;border:1px solid #dae3ee;border-radius:9px;padding:11px 12px;font:inherit;background:white;color:#18304f}
.p4-info{background:#f2f6fb;border-radius:11px;padding:13px;color:#536781;font-size:.84rem;line-height:1.6}.p4-stack{display:flex;flex-direction:column;gap:12px}.p4-stack .field{display:flex;flex-direction:column;gap:7px}.p4-divider{border:0;border-top:1px solid #e5eaf1;width:100%}
.p4-invite{background:#effaf1;border:1px solid #bde8cd;border-radius:12px;padding:15px;overflow-wrap:anywhere}.p4-invite p{font-size:.8rem;color:#3b6650}.p4-invite textarea{width:100%;padding:10px;background:white;border:1px solid #c5e2ce;border-radius:8px;min-height:75px}
.p4-case-access{display:flex;align-items:center;justify-content:space-between;gap:9px;border-bottom:1px solid #e8edf4;padding:10px 0}.p4-case-access small{display:block;color:#78879a;margin-top:2px}.p4-messaging{display:grid;grid-template-columns:minmax(215px,300px) minmax(0,1fr);gap:18px;align-items:start}.p4-messaging>*{min-width:0}.p4-thread-list{max-height:620px;overflow:auto}.p4-thread{display:flex;flex-direction:column;gap:5px;padding:15px 18px;border-bottom:1px solid #e8edf5;text-decoration:none;color:#233956}.p4-thread span,.p4-thread small{font-size:.78rem;color:#758398}.p4-thread.selected{background:#e9f4fb;border-left:3px solid #1683c3}.p4-chatlog{min-height:240px;max-height:600px;overflow:auto;padding:22px;background:#f8fbfe;display:flex;flex-direction:column;gap:12px}.p4-chat-bubble{max-width:88%;background:white;border:1px solid #e6ecf4;border-radius:14px;padding:14px 16px;overflow-wrap:anywhere}.p4-chat-staff{align-self:flex-end;background:#e7f4ee;border-color:#d4ebdf}.p4-chat-bubble strong{font-size:.78rem;color:#163653}.p4-chat-bubble p{margin:8px 0;white-space:normal}.p4-chat-bubble small{font-size:.7rem;color:#7b899b}
/* Public client portal */
.p4-public{margin:0;min-height:100vh;background:#f5f8fd;color:#163353;font:15px/1.55 system-ui,-apple-system,Segoe UI,Arial,sans-serif}.p4-portal-header{display:flex;gap:20px;align-items:center;padding:15px max(25px,calc((100vw - 1190px)/2));border-bottom:1px solid #e4eaf3;background:white;flex-wrap:wrap}.p4-portal-header img{width:192px;max-height:45px;object-fit:contain;object-position:left}.p4-portal-header>div{font-size:.76rem;color:#65768e;letter-spacing:.09em;font-weight:700;flex:1}.p4-portal-header>div span{font-weight:400;letter-spacing:0}.p4-link-button{background:white;border:1px solid #dbe4ef;padding:9px 14px;border-radius:8px;cursor:pointer;color:#193c63}.p4-portal-main{width:min(1190px,calc(100% - 40px));margin:40px auto 60px;min-height:60vh}.p4-portal-footer{text-align:center;color:#74849b;padding:30px 15px;border-top:1px solid #e3eaf2;font-size:.78rem}.p4-auth-card{background:white;border:1px solid #e1e8f2;border-radius:20px;box-shadow:0 22px 55px #092f5012;padding:40px;max-width:470px;margin:45px auto}.p4-auth-card h1,.p4-portal-welcome h1{font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.17;margin:12px 0;color:#0b2b52}.p4-auth-card p,.p4-portal-welcome p{color:#6a7b90}.p4-kicker{font-size:.71rem;font-weight:800;color:#0874b3;letter-spacing:.13em}.p4-auth-form{display:flex;flex-direction:column;gap:17px;margin-top:24px}.p4-auth-form label{display:flex;flex-direction:column;gap:7px;font-size:.84rem;font-weight:650}.p4-auth-form input,.p4-auth-form textarea{border:1px solid #cfdbe8;border-radius:10px;padding:12px 13px;font:inherit;min-width:0}.p4-auth-form button{background:#086c9d;color:white;border:0;border-radius:9px;padding:14px 16px;font-weight:750;cursor:pointer}.p4-small{color:#718196;font-size:.84rem}.p4-portal-notice{max-width:770px;margin:0 auto 20px;background:#eaf4fb;padding:13px 18px;border-radius:10px;color:#17466c}.p4-client-grid{display:grid;grid-template-columns:minmax(240px,330px) minmax(0,1fr);gap:20px;align-items:start}.p4-client-card{background:white;border:1px solid #e1e8f2;border-radius:15px;min-width:0;overflow:hidden;padding:22px}.p4-client-card h2{font-size:1.25rem;margin:0 0 15px}.p4-client-card h3{font-size:1rem;margin:28px 0 10px}.p4-client-case{display:flex;flex-direction:column;text-decoration:none;color:#264363;border-top:1px solid #e6eef6;padding:15px 5px;gap:3px}.p4-client-case.active{background:#e6f4fa;margin:0 -8px;padding:15px 13px;border-radius:9px}.p4-client-case span,.p4-client-case small{font-size:.79rem;color:#6c7f94}.p4-client-doc{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #e6eaf0}.p4-client-doc strong,.p4-client-doc small{display:block}.p4-client-doc small{font-size:.73rem;color:#7a8fa2}.p4-client-doc a{color:#086c9d;font-weight:700}.p4-client-messages{display:flex;flex-direction:column;gap:10px;max-height:460px;overflow:auto}.p4-client-message{padding:12px 15px;border:1px solid #e3eaf2;border-radius:12px;max-width:90%;align-self:flex-start;overflow-wrap:anywhere}.p4-client-message.mine{background:#e7f6ea;align-self:flex-end}.p4-client-message strong{font-size:.78rem}.p4-client-message p{margin:6px 0}.p4-client-message small{font-size:.7rem;color:#7b90a2}
@media(max-width:900px){.p4-columns,.p4-messaging,.p4-client-grid{grid-template-columns:1fr}.p4-upload-panel{order:-1}}@media(max-width:560px){.p4-portal-header{padding:12px 18px}.p4-portal-header>div{font-size:.64rem}.p4-auth-card{padding:23px 19px;margin:15px auto}.p4-portal-main{margin:20px auto 40px;width:calc(100% - 24px)}.p4-client-card{padding:16px}.p4-case-access{align-items:flex-start;flex-direction:column}}

.p4-case-shortcuts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
