.contracts-center{max-width:1100px;margin:auto}.contract-intro{display:flex;justify-content:space-between;align-items:start;gap:20px}.contract-intro h3{margin:0}.contract-intro p{color:var(--muted);line-height:1.6;max-width:660px}.contract-create-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.contract-card{border:1px solid var(--line);border-radius:16px;padding:20px;margin:16px 0;background:#fff}.contract-card header{display:flex;justify-content:space-between;gap:18px}.contract-card h3{margin:10px 0 6px;font-size:18px}.contract-card small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.contract-deadline{text-align:right;font-size:13px;color:#348165;white-space:nowrap}.contract-deadline small{display:block;margin-top:6px}.contract-deadline.expiring{color:#b47a18}.contract-card-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}.contract-card-actions button{font-size:12px;padding:10px 12px}.contract-card-actions a{font-size:12px;color:var(--blue);text-decoration:none}.contract-state-signed,.contract-state-confirmed{background:#eaf8ef;color:#2e8055}.contract-state-review,.contract-state-awaiting_signature{background:#fff5df;color:#a67718}.contract-state-rejected{background:#fff0f0;color:#b34b58}.contract-preview iframe{display:block;width:100%;height:58vh;border:1px solid var(--line);border-radius:12px;margin:15px 0}.contract-review-note{background:#fff6e8;padding:12px;border-radius:10px}.document-drop{border:1px dashed #bad1eb;border-radius:14px;background:#f5f9ff;padding:18px;cursor:pointer;display:grid;gap:8px;margin:18px 0}.document-drop span{font-size:12px;color:var(--muted)}.document-drop input::file-selector-button{border:0;background:#e4efff;color:#1d548a;border-radius:8px;padding:10px 14px;margin-right:12px;font:inherit;cursor:pointer}.contract-settings{margin:24px 0;padding:16px;background:#f6f9fd;border-radius:14px}.exclusive-badge{display:inline-block;width:max-content;color:#22765a;background:#e9f7ef;border:1px solid #d3ecdf;border-radius:7px;padding:4px 7px;font-size:10px;line-height:1.3;margin:0 0 6px}.price-panel>.exclusive-badge{background:#ffffff1a;color:#effff4;border-color:#ffffff30}.contract-notice{display:flex;width:100%;justify-content:space-between;align-items:center;text-align:left;background:white;color:var(--ink);border:1px solid var(--line);gap:16px;margin:8px 0;padding:15px}.contract-notice.seen{opacity:.65}.contract-notice small{font-size:11px;color:var(--muted)}.contract-buyer-section{background:#f5f9ff;border-radius:16px;padding:18px;margin:20px 0}.contract-buyer-section h3{margin:0}.contract-notifications h2 small{color:var(--muted);font-size:14px}@media(max-width:700px){.contract-card header,.contract-intro{flex-direction:column}.contract-deadline{text-align:left}.contract-notice{display:grid}.contract-card{padding:16px}.contract-preview iframe{height:48vh}}
/* Compact notification centre and a persistent staff messenger. */
.advertising-board{display:grid!important;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.advertising-board>section{min-width:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.advertising-board>section h2{font-size:18px;margin:0 0 14px}.advertising-board .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.contract-notifications{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.contract-notifications>h2{font-size:18px;margin:0}.contract-notifications>#contract-review-list,.contract-notifications>#contract-notice-list{min-width:0}.contract-notice{border-radius:12px;padding:11px 13px;margin:6px 0}.contract-notice:hover{background:#f5f9ff}.contract-notice small{white-space:nowrap}.mention-notices{margin-bottom:14px}
@media(max-width:850px){.advertising-board,.contract-notifications{grid-template-columns:1fr}.contract-notifications{grid-column:1}}@media(max-width:600px){#chat-launch{right:12px;bottom:12px}#chat-panel{right:8px;bottom:65px;width:calc(100vw - 16px)}}

body:has(#workspace[hidden]) #chat-launch{display:none}
body:has(#workspace[hidden]) #chat-panel{display:none!important}
/* Messenger — compact, independent navigation and a stable composer. */
#chat-launch{position:fixed;right:24px;bottom:24px;z-index:80;width:60px;height:60px;padding:17px;border:1px solid #ffffff70;border-radius:50%;color:white;background:linear-gradient(125deg,#1468ce,#5755cd,#169bba);background-size:220% 220%;animation:chat-glow 9s ease infinite;box-shadow:0 8px 28px #214eaa45;display:grid;place-items:center;cursor:pointer}#chat-launch svg{width:27px;height:27px}#chat-launch:hover{transform:translateY(-2px)}@keyframes chat-glow{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}@media(prefers-reduced-motion:reduce){#chat-launch{animation:none}}
#chat-panel{position:fixed;right:24px;bottom:96px;z-index:81;width:min(410px,calc(100vw - 24px));height:min(660px,calc(100dvh - 122px));display:flex;flex-direction:column;background:#fff;border:1px solid #dce6f1;border-radius:24px;box-shadow:0 18px 70px #18395835;overflow:hidden;color:#203952;font-size:14px}#chat-panel *{box-sizing:border-box}#chat-panel button,#chat-panel input,#chat-panel textarea{font:inherit;letter-spacing:normal}#chat-panel button{cursor:pointer;min-height:0;box-shadow:none}#chat-panel button:disabled{opacity:.5;cursor:default}#chat-panel svg{width:21px;height:21px;flex-shrink:0}#chat-panel #chat-header{min-height:82px;padding:15px 14px;display:flex;gap:9px;align-items:center;background:#fff;color:#203952;border-bottom:1px solid #edf1f5}#chat-panel .chat-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:36px;padding:5px;border:0;border-radius:10px;background:transparent;color:#628099}#chat-panel .chat-icon:hover{background:#edf4fc;color:#2166ab}.chat-heading{flex:1;min-width:0}.chat-heading strong{display:block;font-size:15px;line-height:1.3;overflow-wrap:anywhere}.chat-heading small{display:block;font-size:11px;color:#8a9baa;margin-top:4px}.chat-avatar{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;overflow:hidden;border-radius:50%;background:#eaf1f9;color:#577c9e;font-size:14px;font-weight:600}.chat-avatar.bot{background:linear-gradient(135deg,#e3edff,#ede5fc);color:#665bc7}.chat-avatar img{width:100%;height:100%;object-fit:cover}#chat-content{display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden;padding:0}.chat-list,.chat-create{overflow:auto;flex:1;min-height:0;padding:12px}#chat-panel .chat-contact{display:flex;align-items:center;gap:12px;padding:12px 9px;width:100%;border:0;border-radius:14px;background:transparent;color:#203952;text-align:left;margin:0 0 3px}#chat-panel .chat-contact:hover,#chat-panel .chat-contact.selected{background:#eff5fd}.chat-contact>span:not(.chat-avatar):not(.chat-meta){flex:1;min-width:0}.chat-contact strong{display:block;font-size:13px;line-height:1.4}.chat-contact small{display:block;font-size:12px;color:#8a9bab;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-contact em{font-size:9px;font-style:normal;color:#8279ba;background:#f0eafb;border-radius:5px;padding:3px 5px;margin-left:5px}.chat-meta{display:grid;gap:7px;justify-items:end;align-self:start;padding-top:5px;font-size:10px;color:#97a6b5}.chat-meta b{display:grid;place-items:center;background:#337cce;color:white;min-width:20px;height:20px;border-radius:10px}.chat-list-caption{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#99a8b6;padding:20px 9px 8px}.chat-empty{text-align:center;color:#91a0b0;line-height:1.8;padding:24px 12px;font-size:13px}.chat-create input{display:block;width:100%;margin-bottom:10px;height:43px!important;min-height:43px!important;padding:10px 13px!important;background:#f7f9fc;border:1px solid #e1e9f2;border-radius:12px}.chat-create #chat-create-group{width:100%;border:0;border-radius:12px;margin-top:12px;padding:13px;background:#2779d3;color:#fff}.chat-thread{flex:1;min-height:0;overflow:auto;padding:18px 14px;display:flex;flex-direction:column;gap:10px;background:radial-gradient(ellipse at top left,#f4f7fc,#eff3f7);overscroll-behavior:contain}.chat-message{flex-shrink:0;max-width:88%;align-self:flex-start;padding:11px 13px 7px;border-radius:15px 15px 15px 4px;background:#fff;box-shadow:0 2px 3px #1c395209;overflow-wrap:anywhere;white-space:pre-wrap;font-size:13px;line-height:1.55}.chat-message.own{align-self:flex-end;background:#deeeff;border-radius:15px 15px 4px 15px}.chat-message p{margin:0}.chat-message time{display:block;text-align:right;font-size:9px;color:#91a3b4;margin-top:5px}.chat-author{display:block;font-size:10px;color:#547eb1;margin-bottom:5px}.chat-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.chat-links a{display:inline-block;font-size:11px;text-decoration:none;color:#2868a9;background:#edf4fd;border-radius:8px;padding:7px 9px;white-space:normal}#chat-send{position:relative;flex-shrink:0;display:flex;align-items:flex-end;gap:8px;padding:12px;background:white;border-top:1px solid #eaf0f6}#chat-send textarea{flex:1;resize:none;min-height:44px!important;height:44px;max-height:100px;margin:0!important;padding:12px 14px!important;line-height:20px;border:1px solid #e6edf4;border-radius:18px;background:#f7f9fc;color:#203952}#chat-panel .chat-send-button{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:12px;border:0;border-radius:50%;color:#fff;background:#2878cf}#chat-error{padding:9px 15px;background:#fff0ed;color:#9d4e41;font-size:12px}.mention-suggest{position:relative;z-index:20;background:#fff;border:1px solid #dce6f1;border-radius:10px;box-shadow:0 8px 24px #17385822}.mention-suggest button{display:block;width:100%;text-align:left;background:#fff;color:#173858}#chat-send .mention-suggest{position:absolute;bottom:100%;left:12px;right:12px}#chat-panel .mention-suggest button{padding:12px;border:0;border-radius:8px}#chat-panel .chat-older{align-self:center;background:#fff;color:#6685a3;border:1px solid #dde7f1;border-radius:14px;font-size:11px;padding:6px 12px;flex-shrink:0}@media(max-width:600px){#chat-launch{right:14px;bottom:14px;width:54px;height:54px;padding:14px}#chat-panel{right:10px;bottom:80px;width:calc(100vw - 20px);height:min(660px,calc(100dvh - 95px));border-radius:20px}}
#chat-launch[data-unread]:not([data-unread=""])::after{content:attr(data-unread);position:absolute;top:-3px;right:-3px;min-width:22px;height:22px;padding:2px 5px;display:grid;place-items:center;border:2px solid #fff;border-radius:12px;background:#f06e6a;color:#fff;font-size:10px;font-weight:700}
#chat-launch.chat-has-unread{animation:chat-glow 9s ease infinite,chat-nudge 5s ease-in-out infinite}@keyframes chat-nudge{0%,12%,100%{transform:rotate(0)}2%,6%,10%{transform:rotate(-10deg)}4%,8%{transform:rotate(10deg)}}#chat-toast{position:fixed;right:24px;bottom:96px;z-index:82;max-width:calc(100vw - 32px);padding:15px 20px;border:1px solid #dce7f2;border-radius:16px;background:#fff;color:#244461;box-shadow:0 10px 40px #17385825;font:inherit;font-size:13px;cursor:pointer}.chat-admin-row{display:flex;gap:12px;align-items:center;padding:14px 8px;border-bottom:1px solid #edf1f6}.chat-admin-row>div{flex:1;min-width:0}.chat-admin-row strong{font-size:13px;overflow-wrap:anywhere}.chat-admin-row small{display:block;color:#8a9baa;font-size:11px;margin-top:6px}#chat-panel .chat-admin-row button{color:#c35d64}@media(prefers-reduced-motion:reduce){#chat-launch.chat-has-unread{animation:none}}body:has(#workspace[hidden]) #chat-toast{display:none!important}
#modal .form [role="alert"]:not([hidden]){display:block;margin:14px 0;padding:12px 14px;border:1px solid #e7b2b2;border-radius:10px;background:#fff1f1;color:#9b2835;font-size:13px;line-height:1.5}
body[data-theme="black"] #modal .form [role="alert"]:not([hidden]){background:#4a252d;color:#ffe3e6;border-color:#98535e}
