/* Blueshoe — extracted from index.html */


    :root {
      --cream:#f5f2ec;--cream-dark:#ede9e0;--cream-mid:#e8e3d8;--sand:#d4cfc4;
      --stone:#a09a8e;--ink:#1c1a17;--ink-light:#3d3a34;--ink-mid:#5c5850;
      --blue:#1e3a5f;--blue-mid:#2d5180;--blue-light:#e8eef5;--blue-accent:#3b6ea5;
      --green:#2d6a4f;--green-light:#e8f5ee;--sidebar-w:280px;--radius:12px;
    }
    *{margin:0;padding:0;box-sizing:border-box;}
    body{background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-weight:300;height:100vh;overflow:hidden;display:flex;}
    .sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--cream-dark);border-right:1px solid var(--sand);display:flex;flex-direction:column;padding:24px 0;overflow:hidden;}
    .sidebar-brand{padding:0 20px 14px;border-bottom:1px solid var(--sand);}
    .brand-tagline{font-size:11px;font-weight:500;letter-spacing:0.08em;color:var(--blue);text-transform:uppercase;margin-bottom:4px;}
    .new-thread-btn{margin:16px 20px;display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--sand);border-radius:8px;background:white;color:var(--ink-light);font-family:'DM Sans',sans-serif;font-size:13px;font-weight:400;cursor:pointer;transition:all 0.15s;}
    .new-thread-btn:hover{background:var(--cream);border-color:var(--stone);}
    .sidebar-threads{flex:1;overflow-y:auto;padding:8px 0;}
    .thread-group-label{font-size:10px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--stone);padding:12px 20px 4px;}
    .thread-item{padding:8px 20px;font-size:13px;color:var(--ink-mid);cursor:pointer;border-radius:6px;margin:1px 8px;transition:background 0.12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;position:relative;}
    .thread-item-label{flex:1;overflow:hidden;text-overflow:ellipsis;}
    .thread-status-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;padding:2px 7px;border-radius:20px;margin-left:6px;vertical-align:middle;flex-shrink:0;white-space:nowrap;}
    .thread-status-open{background:var(--green-light,rgba(39,174,96,0.1));color:var(--green,#27ae60);}
    .thread-status-pending{background:var(--sand);color:var(--stone);}
    .thread-status-closed{background:var(--cream);color:var(--stone);border:1px solid var(--sand);}
    .thread-status-intake{background:var(--blue-light,#e8f0fe);color:var(--blue-accent,#2471a3);}
    .thread-status-active{background:rgba(39,174,96,0.1);color:#27ae60;}
    .thread-status-pending_contract{background:rgba(230,126,34,0.1);color:#e67e22;}
    .thread-status-pending_signature{background:rgba(230,126,34,0.1);color:#e67e22;}
    .thread-status-signed{background:rgba(39,174,96,0.1);color:#27ae60;}
    .thread-status-revoked{background:rgba(231,76,60,0.1);color:#e74c3c;}
    .thread-item:hover{background:var(--cream-mid);}
    .thread-item.active{background:var(--cream-mid);color:var(--ink);}
    .thread-item-actions{display:none;position:absolute;right:8px;top:50%;transform:translateY(-50%);flex-direction:row;gap:4px;align-items:center;}
    .thread-item:hover .thread-item-actions{display:flex;}
    .thread-action-btn{background:none;border:none;cursor:pointer;color:var(--stone);font-size:12px;padding:2px 4px;line-height:1;border-radius:3px;transition:color 0.12s,background 0.12s;}
    .thread-action-btn:hover{color:var(--ink);background:var(--sand);}
    .thread-rename-wrap{display:flex;align-items:center;gap:4px;flex:1;min-width:0;}
    .thread-rename-input{flex:1;min-width:0;border:1px solid var(--sand);border-radius:4px;padding:2px 6px;font-size:12px;font-family:inherit;color:var(--ink);background:var(--cream);outline:none;}
    .thread-rename-input:focus{border-color:var(--blue-accent);}
    .thread-rename-confirm{background:none;border:none;cursor:pointer;color:var(--green,#27ae60);padding:2px;line-height:1;border-radius:3px;}
    .thread-rename-confirm:hover{background:var(--sand);}
    .thread-delete-confirm{position:absolute;left:0;right:0;top:0;bottom:0;background:var(--cream);border-radius:6px;display:flex;align-items:center;gap:8px;padding:0 12px;font-size:12px;color:var(--ink-mid);z-index:1;}
    .thread-confirm-yes,.thread-confirm-no{background:none;border:none;cursor:pointer;font-size:12px;font-weight:500;padding:2px 6px;border-radius:4px;}
    .thread-confirm-yes{color:#c0392b;}
    .thread-confirm-yes:hover{background:rgba(192,57,43,0.1);}
    .thread-confirm-no{color:var(--stone);}
    .thread-confirm-no:hover{background:var(--cream-mid);}
    .sidebar-footer{padding:16px 20px 0;border-top:1px solid var(--sand);display:flex;flex-direction:column;gap:2px;}
    .sidebar-footer-item{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:13px;color:var(--ink-mid);cursor:pointer;transition:color 0.12s;}
    .sidebar-footer-item:hover{color:var(--ink);}
    .main{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;}
    .topbar{display:flex;align-items:center;padding:0 24px;height:56px;border-bottom:1px solid var(--sand);gap:12px;flex-shrink:0;}
    .topbar-close{width:32px;height:32px;border-radius:50%;border:1px solid var(--sand);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--stone);transition:all 0.15s;}
    .topbar-close:hover{background:var(--cream-mid);color:var(--ink);}
    .topbar-wordmark{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--blue);letter-spacing:0.02em;}
    .topbar-divider{width:1px;height:18px;background:var(--sand);}
    .topbar-context{font-style:italic;font-family:'Cormorant Garamond',serif;font-size:16px;color:var(--stone);}
    .topbar-right{margin-left:auto;display:flex;gap:6px;align-items:center;}
    .topbar-icon{width:32px;height:32px;border-radius:50%;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--stone);transition:all 0.15s;}
    .topbar-icon:hover{background:var(--cream-mid);color:var(--ink);}
    .topbar-profile-btn{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--sand);background:var(--cream-mid);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink-mid);transition:all 0.15s;}
    .topbar-profile-btn:hover{border-color:var(--blue-accent);background:var(--blue-light);color:var(--blue);}
    .topbar-profile-btn.active{border-color:var(--blue);background:var(--blue-light);color:var(--blue);}
    #landing-view{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;overflow-y:auto;}
    .landing-heading{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:300;color:var(--ink);text-align:center;margin-bottom:10px;letter-spacing:-0.01em;}
    .landing-sub{font-size:14px;color:var(--stone);text-align:center;margin-bottom:32px;line-height:1.5;}
    .landing-sub strong{color:var(--ink-mid);font-weight:500;}
    .chat-input-box{width:100%;max-width:620px;background:white;border:1px solid var(--sand);border-radius:var(--radius);box-shadow:0 2px 12px rgba(0,0,0,0.06);margin-bottom:24px;transition:box-shadow 0.2s,border-color 0.2s;}
    .chat-input-box:focus-within{border-color:var(--blue-accent);box-shadow:0 2px 20px rgba(30,58,95,0.1);}
    .chat-input-box textarea{width:100%;padding:18px 20px 10px;border:none;background:none;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:300;color:var(--ink);resize:none;outline:none;min-height:60px;line-height:1.5;}
    .chat-input-box textarea::placeholder{color:var(--stone);}
    .chat-input-footer{display:flex;align-items:center;padding:8px 14px;gap:8px;}
    .input-attach{color:var(--stone);background:none;border:none;cursor:pointer;padding:4px;display:flex;transition:color 0.12s;}
    .input-attach:hover{color:var(--ink);}
    .input-send{margin-left:auto;width:34px;height:34px;border-radius:50%;background:var(--blue);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:white;transition:background 0.15s,transform 0.1s;}
    .input-send:hover{background:var(--blue-mid);transform:scale(1.05);}
    .category-tabs{display:flex;border-bottom:1px solid var(--sand);width:100%;max-width:620px;margin-bottom:16px;}
    .cat-tab{padding:10px 20px;font-size:13px;font-weight:400;color:var(--stone);cursor:pointer;border-bottom:2px solid transparent;transition:color 0.15s,border-color 0.15s;white-space:nowrap;}
    .cat-tab:hover{color:var(--ink-mid);}
    .cat-tab.active{color:var(--ink);border-bottom-color:var(--blue);font-weight:500;}
    .category-items{display:flex;flex-direction:column;gap:8px;width:100%;max-width:620px;}
    .cat-item{display:flex;align-items:center;padding:14px 18px;background:white;border:1px solid var(--sand);border-radius:10px;cursor:pointer;transition:all 0.15s;gap:14px;}
    .cat-item:hover{border-color:var(--blue-accent);background:var(--blue-light);transform:translateX(2px);}
    .cat-item-icon{width:32px;height:32px;border-radius:8px;background:var(--blue-light);display:flex;align-items:center;justify-content:center;color:var(--blue-accent);flex-shrink:0;}
    .cat-item-label{font-size:13px;font-weight:400;color:var(--ink-light);flex:1;}
    .cat-item-arrow{color:var(--sand);transition:color 0.15s,transform 0.15s;}
    .cat-item:hover .cat-item-arrow{color:var(--blue-accent);transform:translateX(2px);}
    .my-matters-empty{text-align:center;padding:32px 20px;color:var(--stone);font-size:13px;line-height:1.6;}
    .my-matters-empty .matters-icon{width:40px;height:40px;border-radius:10px;background:var(--cream-mid);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;color:var(--stone);}
    #chat-view{flex:1;display:none;flex-direction:column;overflow:hidden;}
    .chat-messages{flex:1;overflow-y:auto;padding:40px 0 20px;display:flex;flex-direction:column;}
    .message-wrap{max-width:680px;width:100%;margin:0 auto;padding:0 32px;}
    .msg{margin-bottom:24px;animation:fadeUp 0.3s ease;}
    @keyframes fadeUp{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
    .msg-ai{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:400;color:var(--ink-light);line-height:1.65;}
    .msg-user{display:flex;justify-content:flex-end;}
    .msg-user-bubble{background:var(--blue);color:white;padding:12px 16px;border-radius:12px 12px 2px 12px;font-size:14px;max-width:72%;line-height:1.5;}
    .add-lawyer-bar{max-width:680px;width:100%;margin:0 auto 12px;padding:0 32px;}
    .update-attorney-bar{max-width:680px;width:100%;margin:0 auto 0;padding:0 32px;display:flex;align-items:center;gap:10px;}
    .update-attorney-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:none;border:1px solid var(--sand);border-radius:8px;color:var(--blue-accent);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:all 0.15s;}
    .update-attorney-btn:hover{border-color:var(--blue-accent);background:var(--blue-light);}
    .update-attorney-btn:disabled{opacity:0.5;cursor:default;}
    .update-attorney-confirm{font-size:12px;color:var(--green,#27ae60);font-weight:500;}
    .add-lawyer-inner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--cream-dark);border:1px solid var(--sand);border-radius:10px;cursor:pointer;transition:all 0.15s;}
    .add-lawyer-inner:hover{border-color:var(--blue-accent);background:var(--blue-light);}
    .lawyer-avatars{display:flex;}
    .lawyer-avatar{width:28px;height:28px;border-radius:50%;border:2px solid white;background:var(--cream-mid);margin-left:-6px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:500;color:var(--blue);}
    .lawyer-avatars .lawyer-avatar:first-child{margin-left:0;}
    .add-lawyer-text{font-size:13px;color:var(--ink-mid);font-weight:400;}
    .add-lawyer-wait{margin-left:auto;font-size:12px;color:var(--stone);display:flex;align-items:center;gap:4px;}
    .chat-input-area{padding:12px 32px;max-width:680px;width:100%;margin:0 auto;}
    .chat-disclaimer{text-align:center;font-size:11px;color:var(--stone);padding:8px 32px 16px;max-width:680px;margin:0 auto;line-height:1.5;}

    /* CASE WORKSPACE */
    #case-view,#client-matter-view{flex-direction:column;height:100%;}
    .case-header{border-bottom:1px solid var(--sand);flex-shrink:0;}
    .case-title-bar{height:56px;display:flex;align-items:center;padding:0 24px;gap:12px;border-bottom:1px solid var(--cream-mid);}
    .case-title-left{display:flex;align-items:center;gap:10px;}
    .case-title-text{font-size:16px;font-weight:500;color:var(--ink);}
    .case-title-edit{background:none;border:none;cursor:pointer;color:var(--stone);padding:4px;border-radius:4px;transition:color 0.12s,background 0.12s;display:flex;align-items:center;}
    .case-title-edit:hover{color:var(--ink);background:var(--cream-mid);}
    .case-status-pill{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;padding:3px 10px;border-radius:20px;background:var(--green-light,rgba(39,174,96,0.1));color:var(--green,#27ae60);}
    .case-title-right{margin-left:auto;display:flex;align-items:center;gap:12px;}
    .case-close-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--sand);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--stone);transition:all 0.15s;}
    .case-close-btn:hover{background:var(--cream-mid);color:var(--ink);}
    .case-client-bar{display:flex;align-items:center;gap:24px;padding:10px 24px;background:var(--cream-dark);}
    .case-client-col{display:flex;flex-direction:column;gap:2px;}
    .case-client-label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:0.06em;color:var(--stone);}
    .case-client-value{font-size:13px;color:var(--ink-mid);}
    .case-add-client-btn{margin-left:auto;display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--sand);border-radius:8px;background:white;color:var(--blue-accent);font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;transition:all 0.15s;}
    .case-add-client-btn:hover{border-color:var(--blue-accent);background:var(--blue-light);}
    .case-tabs{display:flex;gap:4px;}
    .case-tab-btn{background:none;border:none;cursor:pointer;font-size:13px;font-family:inherit;color:var(--stone);padding:6px 14px;border-radius:6px;transition:background 0.12s,color 0.12s;}
    .case-tab-btn:hover{background:var(--cream-mid);}
    .case-tab-btn.active{background:var(--sand);color:var(--ink);}
    .case-tab-panel{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;}
    .case-placeholder{display:flex;align-items:center;justify-content:center;height:200px;color:var(--stone);font-size:14px;}
    /* Case Thread */
    .case-thread-messages{flex:1;overflow-y:auto;padding:20px 0;max-width:680px;width:100%;margin:0 auto;}
    .case-thread-input-area{padding:12px 0;max-width:680px;width:100%;margin:0 auto;flex-shrink:0;}
    .case-thread-input-box{display:flex;align-items:flex-end;gap:8px;border:1px solid var(--sand);border-radius:10px;padding:8px 12px;background:white;transition:border-color 0.15s;}
    .case-thread-input-box:focus-within{border-color:var(--blue-accent);}
    .case-thread-input-box textarea{flex:1;border:none;background:none;font-family:'DM Sans',sans-serif;font-size:14px;color:var(--ink);resize:none;outline:none;min-height:36px;line-height:1.5;}
    .case-thread-input-box textarea::placeholder{color:var(--stone);}
    .case-thread-input-box .input-send{flex-shrink:0;}
    /* Case Notes */
    .case-notes-area{width:100%;max-width:600px;min-height:200px;border:1px solid var(--sand);border-radius:8px;padding:12px;font-family:inherit;font-size:14px;color:var(--ink);background:var(--cream);resize:vertical;outline:none;}
    .case-notes-area:focus{border-color:var(--blue-accent);}
    .case-save-btn{margin-top:12px;background:var(--blue);color:white;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;}
    .case-save-btn:hover{opacity:0.9;}
    .case-save-confirm{margin-left:12px;font-size:13px;color:var(--green,#27ae60);}
    /* Case Documents */
    .case-doc-group{margin-bottom:20px;}
    .case-doc-group-header{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:13px;font-weight:500;color:var(--ink-mid);}
    .case-doc-group-count{font-weight:400;color:var(--stone);}
    .case-doc-checkbox{width:14px;height:14px;flex-shrink:0;cursor:pointer;accent-color:var(--blue-accent);}
    .case-doc-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--sand);border-radius:8px;margin-bottom:6px;font-size:13px;color:var(--ink-mid);transition:border-color 0.12s;}
    .case-doc-item:hover{border-color:var(--blue-accent);}
    .case-doc-item svg{flex-shrink:0;color:var(--blue-accent);}
    .case-doc-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .case-doc-size{font-size:11px;color:var(--stone);white-space:nowrap;}
    .case-doc-date{font-size:11px;color:var(--stone);white-space:nowrap;}
    .case-doc-actions{display:flex;gap:6px;align-items:center;margin-left:auto;flex-shrink:0;}
    .case-doc-download{background:none;border:none;color:var(--blue-accent);cursor:pointer;font-size:12px;font-family:inherit;white-space:nowrap;}
    .case-doc-download:hover{text-decoration:underline;}
    .case-doc-action-btn{background:none;border:1px solid var(--sand);border-radius:5px;padding:3px 8px;font-size:11px;cursor:pointer;font-family:inherit;color:var(--ink-mid);transition:all 0.12s;}
    .case-doc-action-btn:hover{border-color:var(--blue-accent);color:var(--blue-accent);}
    .case-doc-delete-btn:hover{border-color:#e74c3c;color:#e74c3c;}
    .doc-move-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.35);display:flex;align-items:center;justify-content:center;z-index:9999;}
    .doc-move-modal{background:var(--white);border-radius:12px;padding:24px;width:340px;max-height:60vh;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(0,0,0,0.15);}
    .doc-move-header{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .doc-move-list{overflow-y:auto;flex:1;margin-bottom:16px;}
    .doc-move-option{padding:10px 12px;border:1px solid var(--sand);border-radius:8px;margin-bottom:6px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:13px;transition:border-color 0.12s;}
    .doc-move-option:hover{border-color:var(--blue-accent);background:var(--linen);}
    .doc-move-option-name{color:var(--ink);}
    .doc-move-option-status{font-size:11px;color:var(--stone);}
    .doc-move-cancel{background:none;border:1px solid var(--sand);border-radius:8px;padding:8px 16px;font-size:13px;cursor:pointer;font-family:inherit;color:var(--ink-mid);}
    .doc-move-cancel:hover{border-color:var(--ink-mid);}
    .lib-docs-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 0;margin-bottom:4px;}
    .lib-docs-toolbar-actions{display:flex;align-items:center;gap:8px;}
    .lib-select-all-label{font-size:12px;color:var(--stone);display:flex;align-items:center;gap:4px;cursor:pointer;}
    .lib-select-all-label input{cursor:pointer;}
    .lib-bulk-btn{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:4px 10px;border-radius:5px;border:1px solid var(--sand);background:none;cursor:pointer;font-family:inherit;color:var(--ink-mid);transition:all 0.12s;}
    .lib-bulk-delete:hover{border-color:#e74c3c;color:#e74c3c;background:rgba(231,76,60,0.05);}
    .lib-bulk-move:hover{border-color:var(--blue-accent);color:var(--blue-accent);}
    .lib-doc-row{display:flex;align-items:center;gap:10px;padding:8px 0 8px 4px;border-bottom:1px solid var(--cream-mid);}
    .lib-doc-row:hover{background:var(--linen);}
    .lib-doc-checkbox{cursor:pointer;flex-shrink:0;}
    .lib-doc-action-link{background:none;border:none;color:var(--blue-accent);cursor:pointer;font-size:12px;font-family:inherit;white-space:nowrap;}
    .lib-doc-action-link:hover{text-decoration:underline;}
    .lib-doc-delete-link{color:var(--stone);}
    .lib-doc-delete-link:hover{color:#e74c3c;text-decoration:underline;}
    .case-upload-btn{display:inline-flex;align-items:center;gap:6px;margin-top:12px;background:none;border:1px solid var(--sand);border-radius:8px;padding:8px 16px;font-size:13px;color:var(--ink-mid);cursor:pointer;font-family:inherit;}
    .case-upload-btn:hover{border-color:var(--blue-accent);color:var(--ink);}
    /* Case Status */
    .case-status-card{max-width:600px;border:1px solid var(--sand);border-radius:10px;padding:20px;margin-bottom:16px;}
    .case-status-card-title{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:0.06em;color:var(--stone);margin-bottom:12px;}
    .case-status-row{display:flex;gap:24px;margin-bottom:14px;font-size:14px;}
    .case-status-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:0.06em;color:var(--stone);margin-bottom:2px;}
    .case-status-value{color:var(--ink);}
    .case-summary-text{font-size:14px;color:var(--ink-mid);line-height:1.7;white-space:pre-wrap;}
    .case-refresh-btn{display:inline-flex;align-items:center;gap:6px;margin-top:12px;background:none;border:1px solid var(--sand);border-radius:8px;padding:8px 16px;font-size:13px;color:var(--blue-accent);cursor:pointer;font-family:inherit;transition:all 0.15s;}
    .case-refresh-btn:hover{border-color:var(--blue-accent);background:var(--blue-light);}
    .case-refresh-btn:disabled{opacity:0.5;cursor:default;}
    .signed-doc-upload-wrap{display:flex;align-items:center;gap:12px;margin-bottom:4px;}
    .signed-doc-upload-label{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--sand);border-radius:8px;font-size:13px;color:var(--blue-accent);cursor:pointer;font-family:inherit;transition:all 0.15s;background:white;}
    .signed-doc-upload-label:hover{border-color:var(--blue-accent);background:var(--blue-light);}
    .signed-doc-filename{font-size:12px;color:var(--ink-mid);}
    .case-activate-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:13px;font-weight:500;color:white;background:var(--green,#2d6a4f);cursor:pointer;font-family:inherit;transition:all 0.15s;margin-top:8px;}
    .case-activate-btn:hover:not(:disabled){background:#245a42;}
    .case-activate-btn:disabled{opacity:0.45;cursor:default;}

    /* PROFILE PANEL */
    .profile-overlay{position:absolute;inset:0;background:rgba(28,26,23,0.15);z-index:100;display:none;}
    .profile-overlay.open{display:block;}
    .profile-panel{position:absolute;top:64px;right:24px;width:540px;max-height:calc(100vh - 88px);background:white;border-radius:16px;border:1px solid var(--sand);box-shadow:0 8px 40px rgba(28,26,23,0.14);display:flex;flex-direction:column;overflow:hidden;animation:panelIn 0.22s cubic-bezier(0.16,1,0.3,1);z-index:101;}
    @keyframes panelIn{from{opacity:0;transform:translateY(-8px) scale(0.98);}to{opacity:1;transform:translateY(0) scale(1);}}
    .profile-panel-header{padding:20px 24px 0;display:flex;align-items:center;justify-content:space-between;}
    .profile-panel-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--ink);}
    .panel-close-btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--sand);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--stone);transition:all 0.15s;}
    .panel-close-btn:hover{background:var(--cream-mid);color:var(--ink);}
    .profile-tabs{display:flex;gap:0;margin:16px 24px 0;background:var(--cream-dark);border-radius:10px;padding:3px;}
    .profile-tab{flex:1;padding:8px 12px;font-size:13px;font-weight:400;color:var(--stone);cursor:pointer;border-radius:8px;text-align:center;transition:all 0.15s;border:none;background:none;font-family:'DM Sans',sans-serif;}
    .profile-tab.active{background:white;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,0.1);font-weight:500;}
    .profile-panel-body{flex:1;overflow-y:auto;padding:20px 24px 24px;}
    .summary-name{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:400;color:var(--ink);margin-bottom:4px;}
    .summary-email{font-size:13px;color:var(--stone);margin-bottom:20px;}
    .summary-stat-row{display:flex;gap:12px;margin-bottom:20px;}
    .summary-stat{flex:1;background:var(--cream-dark);border-radius:10px;padding:14px 16px;}
    .summary-stat-num{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:400;color:var(--blue);}
    .summary-stat-label{font-size:11px;color:var(--stone);margin-top:2px;text-transform:uppercase;letter-spacing:0.06em;}
    .summary-section-label{font-size:11px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--stone);margin-bottom:10px;}
    .summary-plan{background:var(--blue-light);border:1px solid var(--sand);border-radius:10px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
    .summary-plan-name{font-size:14px;font-weight:500;color:var(--blue);}
    .summary-plan-sub{font-size:12px;color:var(--stone);margin-top:2px;}
    .summary-upgrade{font-size:13px;font-weight:500;color:var(--blue-accent);cursor:pointer;}
    .summary-upgrade:hover{text-decoration:underline;}
    .summary-plan-badge{display:inline-block;padding:2px 8px;background:var(--green,#27ae60);color:white;font-size:11px;font-weight:500;border-radius:8px;}
    .summary-usage{margin-bottom:16px;}
    .summary-usage-label{font-size:12px;color:var(--stone);margin-bottom:6px;}
    .summary-usage-bar{height:6px;background:var(--cream-mid);border-radius:3px;overflow:hidden;}
    .summary-usage-fill{height:100%;background:var(--blue-accent);border-radius:3px;transition:width 0.3s;}
    .summary-upgrade{font-size:12px;color:var(--blue-accent);cursor:pointer;font-weight:500;}
    .records-section{margin-bottom:24px;}
    .records-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
    .records-section-title{font-size:14px;font-weight:500;color:var(--ink-light);}
    .records-section-desc{font-size:12px;color:var(--stone);margin-bottom:14px;line-height:1.5;}
    .conn-group-label{font-size:11px;font-weight:500;letter-spacing:0.07em;text-transform:uppercase;color:var(--stone);margin-bottom:8px;margin-top:4px;}
    .connection-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--sand);border-radius:8px;margin-bottom:6px;background:white;}
    .connection-logo{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
    .connection-name{font-size:13px;font-weight:400;color:var(--ink-light);}
    .connection-status{font-size:11px;color:var(--stone);margin-top:1px;}
    .badge-connected{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--green);background:var(--green-light);padding:3px 8px;border-radius:12px;margin-left:auto;flex-shrink:0;white-space:nowrap;}
    .badge-connect{margin-left:auto;flex-shrink:0;padding:5px 12px;background:var(--blue);color:white;border:none;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background 0.15s;white-space:nowrap;}
    .badge-connect:hover{background:var(--blue-mid);}
    .upload-zone{border:1.5px dashed var(--sand);border-radius:10px;padding:24px;text-align:center;cursor:pointer;transition:all 0.15s;background:var(--cream);}
    .upload-zone:hover{border-color:var(--blue-accent);background:var(--blue-light);}
    .upload-cta-btn{width:100%;margin-top:12px;padding:12px;background:var(--blue);color:white;border:none;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:background 0.15s;}
    .upload-cta-btn:hover{background:var(--blue-mid);}
    .folders-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:16px;}
    .folders-new-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;background:var(--blue);color:white;border:none;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;cursor:pointer;transition:background 0.15s;white-space:nowrap;}
    .folders-new-btn:hover{background:var(--blue-mid);}
    .folders-search{flex:1;padding:7px 12px;border:1px solid var(--sand);border-radius:8px;background:var(--cream);font-family:'DM Sans',sans-serif;font-size:12px;color:var(--ink);outline:none;transition:border-color 0.15s;}
    .folders-search:focus{border-color:var(--blue-accent);}
    .folders-search::placeholder{color:var(--stone);}
    .folder-tree{display:flex;flex-direction:column;gap:2px;}
    .folder-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:background 0.12s;user-select:none;}
    .folder-row:hover{background:var(--cream-dark);}
    .folder-toggle{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--stone);transition:transform 0.15s;flex-shrink:0;}
    .folder-toggle.open{transform:rotate(90deg);}
    .folder-toggle.leaf{opacity:0;pointer-events:none;}
    .folder-icon{color:var(--blue-accent);flex-shrink:0;}
    .folder-doc-icon{color:var(--stone);flex-shrink:0;}
    .folder-name{font-size:13px;color:var(--ink-light);flex:1;}
    .folder-count{font-size:11px;color:var(--stone);background:var(--cream-mid);padding:2px 7px;border-radius:10px;}
    .folder-actions{display:none;gap:4px;}
    .folder-row:hover .folder-actions{display:flex;}
    .folder-action-btn{width:22px;height:22px;border-radius:5px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--stone);transition:all 0.12s;}
    .folder-action-btn:hover{background:var(--sand);color:var(--ink);}
    .folder-children{padding-left:20px;display:none;}
    .folder-children.open{display:block;}
    .folder-empty{text-align:center;padding:32px 20px;color:var(--stone);font-size:13px;line-height:1.6;}
    .folder-new-input-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;background:var(--blue-light);border:1px solid var(--blue-accent);margin-bottom:4px;}
    .folder-new-input{flex:1;border:none;background:none;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--ink);outline:none;}
    .folder-new-confirm{width:24px;height:24px;border-radius:6px;background:var(--blue);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:white;}
    .folder-new-cancel{width:24px;height:24px;border-radius:6px;background:none;border:1px solid var(--sand);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--stone);}
    /* KEY MATTERS */
    .key-matters-card{background:white;border:1px solid var(--sand);border-radius:12px;overflow:hidden;margin-bottom:20px;}
    .key-matters-card-title{font-size:11px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--stone);padding:14px 16px 10px;border-bottom:1px solid var(--cream-mid);}
    .key-matter-row{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid var(--cream-mid);}
    .key-matter-row:last-child{border-bottom:none;}
    .key-matter-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
    .key-matter-content{flex:1;}
    .key-matter-name{font-size:13px;font-weight:500;color:var(--ink-light);}
    .key-matter-detail{font-size:12px;color:var(--stone);margin-top:2px;line-height:1.4;}
    .key-matter-cta{margin-left:auto;flex-shrink:0;padding:5px 12px;background:var(--blue);color:white;border:none;border-radius:20px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:4px;transition:background 0.15s;}
    .key-matter-cta:hover{background:var(--blue-mid);}
    .matters-section-label{font-size:11px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--stone);margin-bottom:10px;}
    /* SETTINGS OVERLAY */
    .settings-overlay{position:fixed;inset:0;background:var(--cream);z-index:200;display:none;flex-direction:column;overflow:hidden;animation:fadeIn 0.3s ease;}
    .settings-overlay.open{display:flex;}
    .settings-topbar{display:flex;align-items:center;height:56px;padding:0 24px;border-bottom:1px solid var(--sand);flex-shrink:0;position:relative;}
    .settings-close{width:32px;height:32px;border-radius:50%;border:1px solid var(--sand);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--stone);transition:all 0.15s;}
    .settings-close:hover{background:var(--cream-mid);color:var(--ink);}
    .settings-wordmark{position:absolute;left:50%;transform:translateX(-50%);font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--blue);}
    .settings-scroll{flex:1;overflow-y:auto;padding:40px 24px;}
    .settings-content{max-width:600px;margin:0 auto;}
    .settings-section{margin-bottom:40px;}
    .settings-heading{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:400;color:var(--ink);margin-bottom:16px;}
    .membership-plans{display:flex;gap:12px;}
    .membership-plan-card{flex:1;background:white;border:1px solid var(--sand);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;}
    .membership-plan-card.active-plan{border-color:var(--blue-accent);box-shadow:0 0 0 1px var(--blue-accent);}
    .membership-plan-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;}
    .membership-plan-title{font-size:15px;font-weight:600;color:var(--ink);}
    .membership-plan-price{font-size:14px;font-weight:500;color:var(--ink-mid);}
    .membership-plan-features{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-direction:column;gap:6px;flex:1;}
    .membership-plan-features li{font-size:13px;color:var(--ink-mid);padding-left:18px;position:relative;}
    .membership-plan-features li::before{content:'';position:absolute;left:0;top:6px;width:8px;height:8px;border-radius:50%;background:var(--cream-mid);}
    .membership-plan-card.active-plan .membership-plan-features li::before{background:var(--blue-light);}
    .membership-plan-status{font-size:12px;font-weight:500;color:var(--stone);text-align:center;padding:8px;background:var(--cream-mid);border-radius:8px;}
    .membership-plan-status.active-status{background:var(--green,#27ae60);color:white;}
    .membership-plan-btn{background:var(--blue-accent);color:white;border:none;border-radius:8px;padding:10px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:opacity 0.12s;}
    .membership-plan-btn:hover{opacity:0.85;}
    .membership-plan-btn:disabled{opacity:0.5;cursor:default;}
    .payment-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink,#1a1a1a);color:white;padding:12px 24px;border-radius:10px;font-size:14px;font-family:'DM Sans',sans-serif;font-weight:500;opacity:0;transition:opacity 0.3s,transform 0.3s;z-index:9999;pointer-events:none;box-shadow:0 4px 16px rgba(0,0,0,0.15);}
    .payment-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
    .plan-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);padding:4px 12px;background:var(--ink);color:white;font-size:11px;border-radius:6px;white-space:nowrap;animation:fadeUp 0.2s ease;pointer-events:none;}
    .theme-toggle{display:flex;background:var(--cream-mid);border-radius:10px;padding:3px;width:fit-content;}
    .theme-opt{padding:8px 20px;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:400;color:var(--stone);cursor:pointer;border:none;background:none;transition:all 0.15s;}
    .theme-opt.active{background:white;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,0.1);font-weight:500;}
    .account-rows{background:white;border:1px solid var(--sand);border-radius:12px;overflow:hidden;}
    .account-row{padding:14px 20px;border-bottom:1px solid var(--cream-mid);}
    .account-row:last-child{border-bottom:none;}
    .account-row-label{font-size:10px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--stone);margin-bottom:3px;}
    .account-row-value{font-size:14px;color:var(--ink);}
    .account-row-note{font-size:12px;color:var(--stone);margin-top:2px;}
    .account-input{width:100%;font-size:14px;color:var(--ink);background:transparent;border:none;outline:none;padding:4px 0 0;font-family:inherit;}
    .account-input::placeholder{color:var(--stone);}
    .account-input-readonly{color:var(--stone);cursor:default;}
    .account-edit-btn{background:transparent;color:var(--blue-accent);border:1px solid var(--blue-accent);border-radius:8px;padding:8px 20px;font-size:13px;font-weight:500;cursor:pointer;transition:opacity 0.12s;font-family:inherit;}
    .account-edit-btn:hover{opacity:0.85;}
    .account-save-btn{background:var(--blue-accent);color:white;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:500;cursor:pointer;transition:opacity 0.12s;font-family:inherit;}
    .account-save-btn:hover{opacity:0.85;}
    .account-save-btn:disabled{opacity:0.5;cursor:default;}
    .account-save-msg{font-size:13px;color:var(--green,#27ae60);}
    .account-input-editable{background:var(--cream-mid);border-radius:6px;padding:6px 10px;}
    .legal-card{background:white;border:1px solid var(--sand);border-radius:12px;overflow:hidden;}
    .legal-row{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--cream-mid);cursor:pointer;transition:background 0.12s;}
    .legal-row:last-child{border-bottom:none;}
    .legal-row:hover{background:var(--cream);}
    .legal-row-label{font-size:14px;color:var(--ink-mid);}
    .legal-row-arrow{color:var(--sand);transition:color 0.12s;}
    .legal-row:hover .legal-row-arrow{color:var(--blue-accent);}
    .legal-doc-overlay{position:fixed;inset:0;background:var(--cream);z-index:210;display:none;flex-direction:column;overflow:hidden;animation:fadeIn 0.3s ease;}
    .legal-doc-overlay.open{display:flex;}
    .legal-doc-topbar{display:flex;align-items:center;height:56px;padding:0 24px;border-bottom:1px solid var(--sand);flex-shrink:0;}
    .legal-doc-back{width:32px;height:32px;border-radius:50%;border:1px solid var(--sand);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--stone);transition:all 0.15s;}
    .legal-doc-back:hover{background:var(--cream-mid);color:var(--ink);}
    .legal-doc-scroll{flex:1;overflow-y:auto;padding:40px 24px;}
    .legal-doc-content{max-width:600px;margin:0 auto;}
    .legal-doc-title{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:400;color:var(--ink);margin-bottom:6px;}
    .legal-doc-date{font-size:12px;color:var(--stone);margin-bottom:28px;}
    .legal-doc-body{font-size:14px;color:var(--ink-mid);line-height:1.7;}
    .legal-doc-body h3{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;color:var(--ink);margin:24px 0 8px;}
    .legal-doc-body p{margin-bottom:12px;}

    /* DARK THEME */
    body.theme-dark{background:#1a1814;color:#e8e4dc;}
    body.theme-dark .sidebar{background:#141210;border-color:#2e2b26;}
    body.theme-dark .main{background:#1a1814;}
    body.theme-dark .topbar{border-color:#2e2b26;}
    body.theme-dark .sand,body.theme-dark .chat-input-box,body.theme-dark .cat-item,body.theme-dark .add-lawyer-inner{border-color:#2e2b26;background:#222018;}
    body.theme-dark .chat-input-box{background:#222018;border-color:#2e2b26;}
    body.theme-dark .chat-input-box textarea{color:#e8e4dc;}
    body.theme-dark .msg-ai{color:#d4d0c8;}
    body.theme-dark .landing-heading{color:#e8e4dc;}
    body.theme-dark .landing-sub{color:#a09a8e;}
    body.theme-dark .cat-tab{color:#a09a8e;}
    body.theme-dark .cat-tab.active{color:#e8e4dc;}
    body.theme-dark .cat-item{background:#222018;border-color:#2e2b26;}
    body.theme-dark .cat-item:hover{background:#2e2b26;border-color:#3b6ea5;}
    body.theme-dark .cat-item-label{color:#d4d0c8;}
    body.theme-dark .thread-item{color:#a09a8e;}
    body.theme-dark .thread-item:hover,body.theme-dark .thread-item.active{background:#2e2b26;}
    body.theme-dark .thread-action-btn{color:#a09a8e;}
    body.theme-dark .thread-action-btn:hover{color:#e8e4dc;background:#2e2b26;}
    body.theme-dark .thread-delete-confirm{background:#1a1814;}
    body.theme-dark .thread-rename-input{background:#1a1814;color:#e8e4dc;border-color:#3a3630;}
    body.theme-dark .sidebar-brand,body.theme-dark .sidebar-footer{border-color:#2e2b26;}
    body.theme-dark .sidebar-footer-item{color:#a09a8e;}
    body.theme-dark .new-thread-btn{background:#222018;border-color:#2e2b26;color:#a09a8e;}
    body.theme-dark .topbar-wordmark{color:#6b9fd4;}
    body.theme-dark .settings-overlay{background:#1a1814;}
    body.theme-dark .settings-topbar{border-color:#2e2b26;}
    body.theme-dark .settings-heading{color:#e8e4dc;}
    body.theme-dark .membership-plan-card,body.theme-dark .account-rows,body.theme-dark .legal-card{background:#222018;border-color:#2e2b26;}
    body.theme-dark .account-row{border-color:#2e2b26;}
    body.theme-dark .account-row-value{color:#e8e4dc;}
    body.theme-dark .account-input{color:#e8e4dc;}
    body.theme-dark .account-input-readonly{color:#a09a8e;}
    body.theme-dark .account-input-editable{background:#2e2b26;}
    body.theme-dark .account-edit-btn{color:#6b9fd4;border-color:#6b9fd4;}
    body.theme-dark .legal-row{border-color:#2e2b26;}
    body.theme-dark .legal-row:hover{background:#2e2b26;}
    body.theme-dark .legal-row-label{color:#d4d0c8;}
    body.theme-dark .legal-doc-overlay{background:#1a1814;}
    body.theme-dark .legal-doc-topbar{border-color:#2e2b26;}
    body.theme-dark .legal-doc-title{color:#e8e4dc;}
    body.theme-dark .legal-doc-body{color:#d4d0c8;}
    body.theme-dark .legal-doc-body h3{color:#e8e4dc;}
    body.theme-dark .theme-toggle{background:#2e2b26;}
    body.theme-dark .theme-opt.active{background:#3d3a34;color:#e8e4dc;}
    body.theme-dark .membership-plan-status{background:#2e2b26;color:#a09a8e;}
    body.theme-dark .membership-plan-title{color:#e8e4dc;}
    body.theme-dark .summary-usage-bar{background:#2e2b26;}
    body.theme-dark .cream-mid{background:#2e2b26;}
    body.theme-dark .chat-disclaimer{color:#5c5850;}
    body.theme-dark .add-lawyer-inner{background:#222018;border-color:#2e2b26;}
    body.theme-dark .update-attorney-btn{border-color:#2e2b26;color:var(--blue-accent);}
    body.theme-dark .update-attorney-btn:hover{background:#2e2b26;}

    /* ALERTS PANEL */
    .alerts-panel{display:none;position:absolute;top:52px;right:0;width:320px;background:white;border:1px solid var(--sand);border-radius:12px;box-shadow:0 8px 32px rgba(28,26,23,0.12);z-index:150;animation:panelIn 0.22s cubic-bezier(0.16,1,0.3,1);}
    .alerts-panel.open{display:block;}
    .alerts-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;}
    .alerts-title{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:400;color:var(--ink);}
    .alerts-mark-read{font-size:12px;color:var(--blue-accent);cursor:pointer;font-weight:500;}
    .alerts-mark-read:hover{text-decoration:underline;}
    .alerts-divider{height:1px;background:var(--sand);}
    .alerts-body{min-height:120px;display:flex;align-items:center;justify-content:center;}
    .alerts-empty{text-align:center;padding:32px 20px;display:flex;flex-direction:column;align-items:center;}
    .alerts-empty-title{font-size:13px;color:var(--stone);margin-bottom:4px;}
    .alerts-empty-desc{font-size:12px;color:var(--stone);line-height:1.5;}
    .topbar-icon.active{background:var(--cream-mid);color:var(--ink);}
    body.theme-dark .alerts-panel{background:#222018;border-color:#2e2b26;}
    body.theme-dark .alerts-title{color:#e8e4dc;}
    body.theme-dark .alerts-divider{background:#2e2b26;}

    /* PROFILE MODALS (email notif, password, billing) */
    .profile-modal-overlay{position:fixed;inset:0;background:rgba(28,26,23,0.4);z-index:400;display:none;align-items:center;justify-content:center;padding:24px;}
    .profile-modal-overlay.open{display:flex;}
    .profile-modal{background:white;border-radius:16px;width:100%;max-width:420px;border:1px solid var(--sand);box-shadow:0 8px 40px rgba(28,26,23,0.14);display:flex;flex-direction:column;overflow:hidden;animation:panelIn 0.22s cubic-bezier(0.16,1,0.3,1);}
    .profile-modal.wider{max-width:460px;}
    .profile-modal-header{padding:20px 24px 0;display:flex;align-items:center;justify-content:space-between;}
    .profile-modal-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--ink);}
    .profile-modal-body{padding:20px 24px 24px;}
    .profile-modal-subtitle{font-size:13px;color:var(--stone);margin-bottom:16px;line-height:1.5;}
    .notif-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--cream-mid);}
    .notif-row:last-child{border-bottom:none;}
    .notif-label{font-size:13px;color:var(--ink-mid);}
    .notif-desc{font-size:11px;color:var(--stone);margin-top:2px;}
    .toggle-switch{position:relative;width:40px;height:22px;flex-shrink:0;cursor:pointer;}
    .toggle-switch input{opacity:0;width:0;height:0;}
    .toggle-slider{position:absolute;inset:0;background:var(--sand);border-radius:11px;transition:background 0.2s;}
    .toggle-slider::before{content:'';position:absolute;width:16px;height:16px;left:3px;top:3px;background:white;border-radius:50%;transition:transform 0.2s;}
    .toggle-switch input:checked+.toggle-slider{background:var(--blue);}
    .toggle-switch input:checked+.toggle-slider::before{transform:translateX(18px);}
    .profile-modal-btn{width:100%;height:48px;border-radius:24px;background:var(--blue);color:white;border:none;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:background 0.15s;margin-top:16px;}
    .profile-modal-btn:hover{background:var(--blue-mid);}
    .profile-modal-btn:disabled{opacity:0.5;cursor:not-allowed;}
    .profile-modal-confirm{text-align:center;color:var(--stone);font-size:13px;padding:8px 0;}
    .security-notice{background:var(--blue-light);color:var(--blue);font-size:13px;line-height:1.5;padding:12px;border-radius:8px;margin-bottom:16px;}
    .security-field label{display:block;font-size:12px;color:var(--stone);margin-bottom:4px;font-weight:500;}
    .security-field input{width:100%;padding:10px 12px;border:1px solid var(--sand);border-radius:8px;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--stone);background:var(--cream-dark);outline:none;}
    .security-note{font-size:12px;color:var(--stone);margin-top:12px;line-height:1.5;}
    .billing-section{padding:16px 0;}
    .billing-section+.billing-section{border-top:1px solid var(--sand);}
    .billing-section-label{font-size:11px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--stone);margin-bottom:10px;}
    .billing-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--ink-mid);}
    .billing-link{color:var(--blue-accent);cursor:pointer;font-weight:500;font-size:13px;}
    .billing-link:hover{text-decoration:underline;}
    .billing-plan-name{font-weight:500;color:var(--ink);}
    .billing-card-form{margin-top:12px;overflow:hidden;transition:max-height 0.3s ease;max-height:0;}
    .billing-card-form.open{max-height:300px;}
    .billing-cancel{font-size:12px;color:var(--stone);cursor:default;position:relative;display:inline-block;}
    .billing-cancel-tip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);padding:4px 10px;background:var(--ink);color:white;font-size:11px;border-radius:6px;white-space:nowrap;}
    .billing-cancel:hover .billing-cancel-tip{display:block;}
    .btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,0.3);border-top-color:white;border-radius:50%;animation:spin 0.6s linear infinite;vertical-align:middle;}
    @keyframes spin{to{transform:rotate(360deg);}}
    body.theme-dark .profile-modal{background:#222018;border-color:#2e2b26;}
    body.theme-dark .profile-modal-title{color:#e8e4dc;}
    body.theme-dark .profile-modal-subtitle{color:#a09a8e;}
    body.theme-dark .notif-row{border-color:#2e2b26;}
    body.theme-dark .notif-label{color:#d4d0c8;}
    body.theme-dark .toggle-slider{background:#2e2b26;}
    body.theme-dark .security-notice{background:rgba(30,58,95,0.2);color:#6b9fd4;}
    body.theme-dark .security-field input{background:#1e1c18;border-color:#2e2b26;color:#a09a8e;}
    body.theme-dark .billing-row{color:#d4d0c8;}
    body.theme-dark .billing-section+.billing-section{border-color:#2e2b26;}

    /* SUPPORT MODAL */
    .support-overlay{position:fixed;inset:0;background:rgba(28,26,23,0.4);z-index:300;display:none;align-items:center;justify-content:center;padding:24px;}
    .support-overlay.open{display:flex;}
    .support-modal{background:white;border-radius:16px;width:100%;max-width:480px;border:1px solid var(--sand);box-shadow:0 8px 40px rgba(28,26,23,0.14);display:flex;flex-direction:column;overflow:hidden;animation:panelIn 0.22s cubic-bezier(0.16,1,0.3,1);}
    .support-modal-header{padding:20px 24px 0;display:flex;align-items:center;justify-content:space-between;}
    .support-modal-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--ink);}
    .support-modal-body{padding:20px 24px 24px;}
    .support-textarea{width:100%;min-height:160px;padding:14px 16px;border:1px solid var(--sand);border-radius:10px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:300;color:var(--ink);resize:vertical;outline:none;transition:border-color 0.15s;line-height:1.5;}
    .support-textarea::placeholder{color:var(--stone);}
    .support-textarea:focus{border-color:var(--blue);}
    .support-send{width:100%;height:48px;border-radius:24px;background:var(--blue);color:white;border:none;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:background 0.15s,opacity 0.15s;margin-top:16px;}
    .support-send:hover:not(:disabled){background:var(--blue-mid);}
    .support-send:disabled{opacity:0.4;cursor:not-allowed;}
    .support-confirm{text-align:center;color:var(--stone);font-size:14px;line-height:1.6;padding:40px 0;}
    .support-error{font-size:12px;color:#c0392b;margin-top:8px;text-align:center;}

    /* LAWYER MODAL */
    .lawyer-overlay{position:fixed;inset:0;background:rgba(28,26,23,0.4);z-index:300;display:none;align-items:center;justify-content:center;padding:24px;}
    .lawyer-overlay.open{display:flex;}
    .lawyer-modal{background:white;border-radius:20px;width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(28,26,23,0.2);animation:modalIn 0.25s cubic-bezier(0.16,1,0.3,1);}
    .lawyer-modal-header{padding:24px 28px 0;display:flex;flex-direction:column;gap:16px;flex-shrink:0;}
    .lawyer-modal-header-top{display:flex;align-items:center;justify-content:space-between;}
    .lawyer-modal-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--ink);}
    .lawyer-modal-close{width:28px;height:28px;border-radius:50%;border:1px solid var(--sand);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--stone);transition:all 0.15s;}
    .lawyer-modal-close:hover{background:var(--cream-mid);color:var(--ink);}
    .lawyer-steps{display:flex;gap:6px;}
    .lawyer-step-seg{flex:1;height:3px;border-radius:2px;background:var(--sand);transition:background 0.3s;}
    .lawyer-step-seg.filled{background:var(--blue);}
    .lawyer-modal-body{flex:1;overflow-y:auto;padding:24px 28px;}
    .lawyer-modal-footer{padding:16px 28px 24px;display:flex;gap:10px;justify-content:flex-end;flex-shrink:0;}
    .lawyer-btn{padding:10px 24px;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:all 0.15s;border:none;}
    .lawyer-btn-primary{background:var(--blue);color:white;}
    .lawyer-btn-primary:hover{background:var(--blue-mid);}
    .lawyer-btn-secondary{background:none;border:1px solid var(--sand);color:var(--ink-mid);}
    .lawyer-btn-secondary:hover{background:var(--cream-mid);border-color:var(--stone);}
    .capability-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;}
    .capability-tile{padding:20px 16px;border:1px solid var(--sand);border-radius:12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;}
    .capability-tile svg{color:var(--blue);}
    .capability-tile-label{font-size:13px;color:var(--ink-mid);}
    .capability-note{font-size:12px;color:var(--stone);line-height:1.5;text-align:center;}
    .plan-card{border:1.5px solid var(--sand);border-radius:12px;padding:18px;cursor:pointer;transition:all 0.15s;position:relative;margin-bottom:10px;}
    .plan-card:hover{border-color:var(--blue-accent);}
    .plan-card.selected{border-color:var(--blue);background:var(--blue-light);}
    .plan-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
    .plan-card-label{font-size:14px;font-weight:500;color:var(--ink);}
    .plan-card-price{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--blue);}
    .plan-card-desc{font-size:12px;color:var(--stone);line-height:1.5;}
    .plan-badge{display:inline-block;padding:2px 8px;background:var(--green-light);color:var(--green);font-size:11px;font-weight:500;border-radius:10px;margin-left:8px;}
    .plan-recommended{position:absolute;top:-9px;right:16px;padding:2px 10px;background:var(--blue);color:white;font-size:10px;font-weight:500;border-radius:10px;letter-spacing:0.04em;}
    .payment-fields{display:flex;flex-direction:column;gap:12px;}
    .payment-field label{display:block;font-size:12px;color:var(--stone);margin-bottom:4px;font-weight:500;}
    .payment-field input{width:100%;padding:10px 12px;border:1px solid var(--sand);border-radius:8px;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--ink);outline:none;transition:border-color 0.15s;}
    .payment-field input:focus{border-color:var(--blue-accent);}
    .payment-row{display:flex;gap:12px;}
    .payment-row .payment-field{flex:1;}
    .payment-secure{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--stone);margin-bottom:16px;}
    .payment-summary{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--cream-mid);margin-top:12px;font-size:13px;color:var(--ink-mid);}
    .payment-summary-price{font-weight:500;color:var(--blue);}
    .confirm-check{width:64px;height:64px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;}
    .confirm-text{text-align:center;font-size:14px;color:var(--ink-mid);line-height:1.6;margin-bottom:16px;}
    .confirm-summary{text-align:center;font-size:13px;color:var(--stone);padding:12px;background:var(--cream-dark);border-radius:10px;}

    /* PAYWALL MODAL */
    .paywall-overlay{position:fixed;inset:0;background:rgba(28,26,23,0.4);z-index:350;display:none;align-items:center;justify-content:center;padding:24px;}
    .paywall-overlay.open{display:flex;}
    .paywall-modal{background:white;border-radius:20px;width:100%;max-width:440px;padding:32px;text-align:center;position:relative;box-shadow:0 20px 60px rgba(28,26,23,0.2);animation:modalIn 0.25s cubic-bezier(0.16,1,0.3,1);}
    .paywall-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--stone);cursor:pointer;padding:4px;}
    .paywall-close:hover{color:var(--ink);}
    .paywall-icon{margin-bottom:16px;}
    .paywall-title{font-size:18px;font-weight:600;color:var(--ink);margin-bottom:10px;}
    .paywall-body{font-size:14px;color:var(--ink-mid);line-height:1.6;margin-bottom:24px;}
    .paywall-actions{display:flex;flex-direction:column;gap:10px;}
    .paywall-btn-primary{background:var(--blue-accent);color:white;border:none;border-radius:10px;padding:12px 24px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:opacity 0.12s;}
    .paywall-btn-primary:hover{opacity:0.85;}
    .paywall-btn-primary:disabled{opacity:0.5;cursor:default;}
    .paywall-btn-dismiss{background:none;border:none;color:var(--stone);cursor:pointer;font-size:13px;font-family:inherit;padding:8px;}
    .paywall-btn-dismiss:hover{color:var(--ink-mid);}
    .lawyer-bar-active{background:var(--green-light) !important;border-color:var(--green) !important;}
    .lawyer-bar-active .add-lawyer-text{color:var(--green) !important;}
    .chat-banner{position:absolute;top:60px;left:50%;transform:translateX(-50%);padding:10px 24px;background:var(--green-light);border:1px solid var(--green);border-radius:10px;font-size:13px;color:var(--green);z-index:50;animation:fadeUp 0.3s ease;transition:opacity 0.4s;}

    .typing-dots{display:flex;align-items:center;gap:5px;padding:8px 0;}
    .typing-dots span{width:7px;height:7px;border-radius:50%;background:var(--stone);animation:dotBounce 1.4s infinite ease-in-out both;}
    .typing-dots span:nth-child(1){animation-delay:-0.32s;}
    .typing-dots span:nth-child(2){animation-delay:-0.16s;}
    .typing-dots span:nth-child(3){animation-delay:0s;}
    @keyframes dotBounce{0%,80%,100%{transform:scale(0);opacity:0.4;}40%{transform:scale(1);opacity:1;}}
    ::-webkit-scrollbar{width:4px;}::-webkit-scrollbar-track{background:transparent;}::-webkit-scrollbar-thumb{background:var(--sand);border-radius:2px;}
    .sidebar,.main{animation:fadeIn 0.4s ease;}
    @keyframes fadeIn{from{opacity:0;}to{opacity:1;}}

    /* EXPLORE SOLUTIONS MODAL */
    .explore-overlay{position:fixed;inset:0;background:rgba(28,26,23,0.4);z-index:200;display:none;align-items:center;justify-content:center;padding:24px;}
    .explore-overlay.open{display:flex;}
    .explore-modal{background:white;border-radius:20px;width:100%;max-width:680px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(28,26,23,0.2);animation:modalIn 0.25s cubic-bezier(0.16,1,0.3,1);}
    @keyframes modalIn{from{opacity:0;transform:scale(0.96) translateY(8px);}to{opacity:1;transform:scale(1) translateY(0);}}
    .explore-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 20px;flex-shrink:0;}
    .explore-title{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:400;color:var(--ink);}
    .explore-close{width:32px;height:32px;border-radius:50%;border:1px solid var(--sand);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--stone);transition:all 0.15s;}
    .explore-close:hover{background:var(--cream-mid);color:var(--ink);}
    .explore-body{overflow-y:auto;padding:0 28px 28px;}
    /* Solution cards grid */
    .solution-grid-wrap{position:relative;margin-bottom:8px;}
    .solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
    .solution-grid-collapsed{max-height:210px;overflow:hidden;}
    .solution-grid-fade{position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to bottom,transparent,white);pointer-events:none;}
    .solution-grid-collapsed .solution-grid-fade{display:block;}
    .show-more-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;margin-bottom:20px;background:none;border:1px solid var(--sand);border-radius:20px;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--ink-mid);cursor:pointer;transition:all 0.15s;}
    .show-more-btn:hover{border-color:var(--blue-accent);color:var(--blue-accent);background:var(--blue-light);}
    .show-more-chevron{transition:transform 0.2s;}
    .show-more-chevron.open{transform:rotate(180deg);}
    .solution-card{border-radius:14px;overflow:hidden;cursor:pointer;border:1px solid var(--sand);transition:transform 0.15s,box-shadow 0.15s;}
    .solution-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(28,26,23,0.1);}
    .solution-card.coming-soon{opacity:0.7;cursor:default;}
    .solution-card.coming-soon:hover{transform:none;box-shadow:none;}
    .solution-card-art{height:110px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
    .solution-card-body{padding:12px 14px 14px;background:white;}
    .solution-card-name{font-size:13px;font-weight:500;color:var(--ink);margin-bottom:3px;}
    .solution-card-desc{font-size:12px;color:var(--stone);line-height:1.4;margin-bottom:10px;}
    .solution-card-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:20px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;border:none;cursor:pointer;transition:background 0.15s;}
    .solution-card-btn.live{background:var(--blue);color:white;}
    .solution-card-btn.live:hover{background:var(--blue-mid);}
    .solution-card-btn.soon{background:var(--cream-mid);color:var(--stone);cursor:default;}
    /* Category list */
    .explore-cat-section{border-top:1px solid var(--cream-mid);padding-top:24px;}
    .explore-cat-cols{display:grid;grid-template-columns:1fr 1fr;gap:0;}
    .explore-cat-col{}
    .explore-cat-col+.explore-cat-col{border-left:1px solid var(--cream-mid);padding-left:28px;}
    .explore-cat-heading{font-size:13px;font-weight:500;color:var(--ink);margin-bottom:14px;}
    .explore-cat-item{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--cream-mid);cursor:pointer;transition:color 0.12s;}
    .explore-cat-item:last-child{border-bottom:none;}
    .explore-cat-item:hover .explore-cat-label{color:var(--blue-accent);}
    .explore-cat-label{font-size:13px;color:var(--ink-mid);}
    .explore-cat-arrow{color:var(--sand);transition:color 0.12s,transform 0.12s;}
    .explore-cat-item:hover .explore-cat-arrow{color:var(--blue-accent);transform:translateX(2px);}
    .explore-cat-soon{opacity:0.5;cursor:default;pointer-events:none;}
    .explore-cat-badge{font-size:10px;font-weight:500;color:var(--stone);background:var(--cream-dark);padding:2px 8px;border-radius:10px;white-space:nowrap;margin-left:auto;}

    /* Solution item badges */
    .cat-item-cta{font-size:11px;font-weight:500;color:var(--blue-accent);display:flex;align-items:center;gap:4px;white-space:nowrap;}
    .cat-item-soon{opacity:0.55;cursor:default;pointer-events:none;}
    .cat-item-badge{font-size:10px;font-weight:500;color:var(--stone);background:var(--cream-dark);padding:3px 8px;border-radius:10px;white-space:nowrap;}
    body.theme-dark .cat-item-badge{background:#2e2b26;color:#8a8a8a;}
    body.theme-dark .cat-item-cta{color:#5a9fd4;}

    /* Solution Document Prompt */
    .solution-doc-prompt{background:var(--cream-mid);border:1px solid var(--sand);border-radius:12px;padding:16px;margin:16px 0;}
    .sdp-header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--ink);margin-bottom:12px;}
    .sdp-list{display:flex;flex-direction:column;gap:4px;}
    .sdp-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:white;border:1px solid var(--cream-dark);border-radius:8px;font-size:13px;color:var(--ink-mid);cursor:pointer;transition:all 0.15s;}
    .sdp-item:hover{border-color:var(--blue-accent);color:var(--blue-accent);}
    .sdp-item span{flex:1;}
    .sdp-upload-icon{color:var(--stone);transition:color 0.15s;}
    .sdp-item:hover .sdp-upload-icon{color:var(--blue-accent);}
    .sdp-other{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;font-weight:500;color:var(--blue-accent);cursor:pointer;padding:4px 0;}
    .sdp-other:hover{text-decoration:underline;}
    .sdp-uploaded{display:flex;align-items:center;gap:6px;font-size:13px;color:#27ae60;padding:8px 0;}
    body.theme-dark .solution-doc-prompt{background:#1e1c19;border-color:#3a362f;}
    body.theme-dark .sdp-item{background:#252320;border-color:#3a362f;color:#b0a89e;}
    body.theme-dark .sdp-item:hover{border-color:#5a9fd4;color:#5a9fd4;}
    body.theme-dark .sdp-other{color:#5a9fd4;}

    /* Solution Intake Overlay */
    .si-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cream);z-index:2000;display:flex;align-items:center;justify-content:center;overflow-y:auto;}
    .si-panel{width:100%;max-width:580px;padding:40px 24px 32px;margin:auto;}
    .si-header{margin-bottom:32px;}
    .si-close{position:fixed;top:20px;right:24px;background:none;border:none;cursor:pointer;color:var(--stone);padding:8px;border-radius:6px;transition:background 0.15s;}
    .si-close:hover{background:var(--cream-dark);color:var(--ink);}
    .si-title{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:400;color:var(--ink);margin-bottom:16px;}
    .si-progress{height:3px;background:var(--cream-dark);border-radius:2px;margin-bottom:8px;overflow:hidden;}
    .si-progress-fill{height:100%;background:var(--blue-accent);border-radius:2px;transition:width 0.3s ease;}
    .si-step-label{font-size:12px;color:var(--stone);font-weight:400;}
    .si-body{min-height:280px;}
    .si-question{font-size:16px;font-weight:400;color:var(--ink);margin-bottom:20px;line-height:1.5;}
    .si-options{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
    .si-option-card{display:flex;align-items:center;padding:14px 16px;background:white;border:1.5px solid var(--sand);border-radius:10px;cursor:pointer;font-size:14px;color:var(--ink-mid);transition:all 0.15s;gap:12px;}
    .si-option-card:hover{border-color:var(--blue-accent);background:var(--blue-light);}
    .si-option-card.selected{border-color:var(--blue-accent);background:var(--blue-light);color:var(--blue);font-weight:500;}
    .si-option-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--sand);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.15s;}
    .si-option-card.selected .si-option-check{border-color:var(--blue-accent);background:var(--blue-accent);}
    .si-option-card.selected .si-option-check::after{content:'';width:8px;height:8px;border-radius:50%;background:white;}
    .si-option-multi .si-option-check{border-radius:4px;}
    .si-option-multi.selected .si-option-check{border-radius:4px;}
    .si-option-multi.selected .si-option-check::after{content:'';width:10px;height:8px;background:white;border-radius:0;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);}
    .si-other-wrap{margin-top:12px;}
    .si-other-label{font-size:12px;color:var(--stone);margin-bottom:6px;}
    .si-other-input{width:100%;padding:10px 14px;border:1.5px solid var(--sand);border-radius:8px;font-family:'DM Sans',sans-serif;font-size:14px;color:var(--ink);background:white;resize:none;transition:border-color 0.15s;}
    .si-other-input:focus{outline:none;border-color:var(--blue-accent);}
    .si-textarea{width:100%;min-height:120px;padding:14px 16px;border:1.5px solid var(--sand);border-radius:10px;font-family:'DM Sans',sans-serif;font-size:14px;color:var(--ink);background:white;resize:vertical;line-height:1.6;transition:border-color 0.15s;}
    .si-textarea:focus{outline:none;border-color:var(--blue-accent);}
    .si-warning{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:#fff3cd;border:1px solid #ffeeba;border-radius:8px;font-size:13px;color:#856404;margin-top:12px;line-height:1.5;}
    .si-warning svg{flex-shrink:0;margin-top:1px;}
    .si-nav{display:flex;justify-content:space-between;align-items:center;margin-top:32px;padding-top:20px;border-top:1px solid var(--cream-mid);}
    .si-btn-back{display:flex;align-items:center;gap:6px;padding:10px 18px;border:1px solid var(--sand);background:white;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;color:var(--ink-mid);cursor:pointer;transition:all 0.15s;}
    .si-btn-back:hover{border-color:var(--blue-accent);color:var(--blue-accent);}
    .si-btn-continue{display:flex;align-items:center;gap:6px;padding:10px 22px;background:var(--blue);color:white;border:none;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:opacity 0.15s;margin-left:auto;}
    .si-btn-continue:hover{opacity:0.9;}
    .si-btn-continue:disabled{opacity:0.4;cursor:default;}
    .si-btn-start{display:flex;align-items:center;gap:8px;padding:12px 28px;background:var(--blue);color:white;border:none;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:opacity 0.15s;margin:0 auto;}
    .si-btn-start:hover{opacity:0.9;}
    .si-summary{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;}
    .si-summary-row{padding:12px 14px;background:white;border:1px solid var(--cream-mid);border-radius:8px;}
    .si-summary-label{font-size:11px;text-transform:uppercase;letter-spacing:0.05em;color:var(--stone);margin-bottom:3px;}
    .si-summary-value{font-size:14px;color:var(--ink-mid);line-height:1.5;}
    .si-summary-title{font-size:16px;font-weight:400;color:var(--ink);margin-bottom:16px;}

    /* Dark theme overrides for intake */
    body.theme-dark .si-overlay{background:#1a1710;}
    body.theme-dark .si-title{color:#e8e4dc;}
    body.theme-dark .si-progress{background:#2e2b26;}
    body.theme-dark .si-question{color:#e8e4dc;}
    body.theme-dark .si-option-card{background:#222018;border-color:#2e2b26;color:#d4d0c8;}
    body.theme-dark .si-option-card:hover{background:#2e2b26;border-color:#3b6ea5;}
    body.theme-dark .si-option-card.selected{background:#1e2a3a;border-color:#3b6ea5;color:#5a9fd4;}
    body.theme-dark .si-option-check{border-color:#3a3630;}
    body.theme-dark .si-other-input,body.theme-dark .si-textarea{background:#222018;border-color:#2e2b26;color:#e8e4dc;}
    body.theme-dark .si-other-input:focus,body.theme-dark .si-textarea:focus{border-color:#3b6ea5;}
    body.theme-dark .si-btn-back{background:#222018;border-color:#2e2b26;color:#d4d0c8;}
    body.theme-dark .si-btn-back:hover{border-color:#3b6ea5;color:#5a9fd4;}
    body.theme-dark .si-summary-row{background:#222018;border-color:#2e2b26;}
    body.theme-dark .si-summary-label{color:#8a8a8a;}
    body.theme-dark .si-summary-value{color:#d4d0c8;}
    body.theme-dark .si-close:hover{background:#2e2b26;color:#e8e4dc;}
    body.theme-dark .si-warning{background:#332b00;border-color:#665500;color:#ffcc00;}

    /* LAWYER MODE */
    #new-case-btn-wrap{margin:0;padding:0;}
    #sidebar-cases{overflow-y:auto;padding:8px 0;}
    .sidebar-section-label{font-size:10px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--stone);padding:12px 20px 4px;}
    .sidebar-cases-empty{padding:8px 20px;font-size:12px;color:var(--stone);font-style:italic;}
    .sidebar-bulk-bar{display:flex;align-items:center;gap:8px;padding:4px 20px 6px;border-bottom:1px solid var(--sand);}
    .sidebar-bulk-delete-btn{background:none;border:1px solid #e74c3c;color:#e74c3c;border-radius:5px;padding:2px 8px;font-size:11px;cursor:pointer;font-family:inherit;display:none;transition:all 0.12s;}
    .sidebar-bulk-delete-btn:hover{background:#e74c3c;color:white;}

    /* EMAIL PILL INPUT */
    .email-pill-input-wrap{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 10px;border:1px solid var(--sand);border-radius:8px;font-family:'DM Sans',sans-serif;margin-bottom:12px;cursor:text;min-height:38px;box-sizing:border-box;}
    .email-pill-input-wrap input{border:none;outline:none;font-size:13px;font-family:inherit;color:var(--ink);flex:1;min-width:120px;padding:4px 4px;background:transparent;}
    .email-pill{display:inline-flex;align-items:center;gap:6px;background:var(--blue-light,#e8f0fe);color:var(--blue);border-radius:12px;font-size:12px;padding:3px 10px;}
    .email-pill-remove{background:none;border:none;cursor:pointer;color:var(--stone);font-size:14px;line-height:1;padding:0;}

    /* GROUP THREAD MESSAGES */
    .msg-attorney{border-left:3px solid var(--green);background:var(--green-light,rgba(39,174,96,0.06));padding:10px 14px;border-radius:8px;margin-bottom:24px;font-family:'DM Sans',sans-serif;font-size:14px;color:var(--ink-mid);line-height:1.6;}
    .msg-attorney-label{font-size:11px;font-weight:600;color:var(--green,#27ae60);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;}
    .msg-client{border-left:3px solid var(--blue-accent,#2471a3);background:var(--blue-light,#e8f0fe);padding:10px 14px;border-radius:8px;margin-bottom:24px;}
    .msg-client-label{font-size:11px;font-weight:600;color:var(--blue-accent,#2471a3);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;}

    /* SIDEBAR MATTERS */
    #sidebar-matters{overflow-y:auto;padding:8px 0;}

    /* AI TOGGLE */
    .ai-toggle-btn{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:500;font-family:inherit;cursor:pointer;border:1px solid var(--sand);background:var(--cream-dark);color:var(--ink-mid);transition:all 0.15s;}
    .ai-toggle-btn:hover{border-color:var(--blue-accent);}
    .ai-toggle-btn.ai-off{background:var(--sand);color:var(--stone);}

    /* AI DISABLED BANNER */
    .ai-disabled-banner{max-width:680px;width:100%;margin:0 auto;padding:8px 16px;text-align:center;font-size:12px;color:var(--stone);background:var(--cream-dark);border-radius:8px;border:1px solid var(--sand);}

    /* CLIENT MESSAGE BAR */
    .client-message-bar{max-width:680px;width:100%;margin:0 auto 8px;padding:0 32px;display:flex;align-items:center;gap:8px;}
    .client-message-bar input{flex:1;padding:10px 14px;border:1px solid var(--sand);border-radius:8px;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--ink);background:white;outline:none;transition:border-color 0.15s;}
    .client-message-bar input:focus{border-color:var(--blue-accent);}
    .client-message-bar .input-send{flex-shrink:0;}

    /* ── AGENT PANEL ── */
    .agent-panel{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:24px;}
    .agent-idle{max-width:640px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
    .agent-idle-header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink);}
    .agent-idle-sub{font-size:13px;color:var(--stone);line-height:1.5;margin:0;}
    .agent-instruction-input{width:100%;padding:12px 14px;border:1px solid var(--sand);border-radius:10px;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--ink);background:white;outline:none;resize:vertical;transition:border-color 0.15s;box-sizing:border-box;min-height:100px;}
    .agent-instruction-input:focus{border-color:var(--blue-accent);}
    .agent-idle-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;}
    .agent-idle-hint{font-size:11px;color:var(--stone);}
    .agent-run-btn{display:flex;align-items:center;gap:6px;padding:9px 18px;background:var(--blue-accent);color:white;border:none;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:opacity 0.15s;}
    .agent-run-btn:hover{opacity:0.88;}
    .agent-run-btn:disabled{opacity:0.5;cursor:default;}
    .agent-retry-btn{padding:7px 14px;background:var(--cream-dark);border:1px solid var(--sand);border-radius:8px;font-family:'DM Sans',sans-serif;font-size:12px;color:var(--ink-mid);cursor:pointer;}
    .agent-retry-btn:hover{border-color:var(--blue-accent);color:var(--blue-accent);}

    /* Running state */
    .agent-running{max-width:640px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:0;}
    .agent-running-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink);padding-bottom:10px;border-bottom:1px solid var(--sand);margin-bottom:12px;}
    .agent-step-counter{margin-left:auto;font-size:11px;font-weight:400;color:var(--stone);}
    .agent-instruction-preview{font-size:12px;color:var(--stone);background:var(--cream-dark);border-radius:8px;padding:8px 12px;margin-bottom:14px;line-height:1.4;border-left:3px solid var(--sand);}
    .agent-steps-list{display:flex;flex-direction:column;gap:3px;}
    .agent-step{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;font-size:12px;color:var(--ink-mid);background:transparent;transition:background 0.15s;}
    .agent-step-running{background:var(--cream-dark);}
    .agent-step-done{color:var(--stone);}
    .agent-step-error{color:#e74c3c;background:#fdf2f2;}
    .agent-step-spinner{width:12px;height:12px;border:1.5px solid var(--sand);border-top-color:var(--blue-accent);border-radius:50%;flex-shrink:0;animation:agent-spin 0.7s linear infinite;}
    .agent-step-check{width:12px;height:12px;flex-shrink:0;font-size:11px;color:#27ae60;}
    .agent-step-icon{width:12px;height:12px;flex-shrink:0;color:#e74c3c;}
    .agent-step-tool-icon{flex-shrink:0;color:var(--blue-accent);opacity:0.7;}
    .agent-step-tool-name{font-weight:500;color:var(--ink);min-width:44px;flex-shrink:0;}
    .agent-step-preview{color:var(--stone);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:'Courier New',monospace;font-size:11px;}
    .agent-response{margin-top:16px;padding:14px;background:var(--cream-dark);border-radius:10px;border:1px solid var(--sand);}
    .agent-response-text{font-size:13px;color:var(--ink);line-height:1.6;white-space:pre-wrap;}
    .agent-output-files{margin-top:12px;display:flex;flex-direction:column;gap:6px;}
    .agent-output-file{display:flex;align-items:center;gap:8px;padding:8px 12px;background:white;border:1px solid var(--sand);border-radius:8px;font-size:12px;color:var(--ink-mid);}
    .agent-run-again{margin-top:16px;display:flex;justify-content:flex-end;}
    .agent-error{font-size:13px;color:#e74c3c;padding:12px;background:#fdf2f2;border-radius:8px;margin-bottom:8px;}

    /* Pulse animation for running state */
    .agent-pulse{width:8px;height:8px;background:var(--blue-accent);border-radius:50%;flex-shrink:0;animation:agent-pulse-anim 1.4s ease-in-out infinite;}
    @keyframes agent-spin{to{transform:rotate(360deg);}}
    @keyframes agent-pulse-anim{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.4;transform:scale(0.75);}}
