:root{--canvas:#f4f7fa;--surface:#fff;--surface-soft:#f8fafc;--ink:#111827;--ink-soft:#334155;--muted:#65758b;--line:#dfe7ef;--line-strong:#cbd7e4;--blue:#007cff;--blue-soft:#e8f2ff;--sky:#4b9cfb;--green:#12845a;--green-soft:#e9f8f1;--amber:#a96800;--amber-soft:#fff4dc;--red:#d83c55;--red-soft:#fff0f2;--shadow:0 16px 40px #0f172a14;--radius:8px}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--canvas);color:var(--ink);letter-spacing:0;margin:0;font-family:Meiryo UI,Meiryo,Yu Gothic UI,Hiragino Kaku Gothic ProN,sans-serif;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}input,select,textarea{border:1px solid var(--line-strong);width:100%;min-height:38px;color:var(--ink);background:#fff;border-radius:6px;outline:none;padding:8px 10px}input[type=checkbox]{cursor:pointer;width:16px;min-height:16px;padding:0}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #007cff1f}label{color:var(--ink-soft);gap:6px;font-size:12px;font-weight:700;display:grid}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px}th{background:var(--surface-soft);color:var(--muted);font-size:12px;font-weight:700}td small{color:var(--muted);margin-top:4px;display:block}code{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;border-radius:5px;max-width:180px;padding:2px 6px;font-family:Consolas,Courier New,monospace;font-size:12px;display:inline-block;overflow:hidden}.login-page{grid-template-columns:minmax(0,1.1fr) minmax(360px,480px);align-items:stretch;min-height:100vh;display:grid}.login-hero{color:#fff;background:#111827;align-content:center;gap:20px;padding:8vw;display:grid}.login-hero h1{max-width:820px;margin:0;font-size:clamp(32px,5vw,58px);line-height:1.2}.login-hero p{color:#dbe6f3;max-width:640px;margin:0;font-size:16px;line-height:2}.login-brand,.brand{align-items:center;gap:12px;display:flex}.brand{padding:4px}.brand strong,.login-brand strong{font-size:20px;line-height:1.1;display:block}.brand small,.login-brand small{color:var(--muted);font-size:11px;line-height:1.4;display:block}.login-brand small{color:#b9c7d8}.brand-mark{background:var(--blue);color:#fff;border-radius:8px;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;font-weight:800;line-height:1;display:inline-flex}.login-panel{background:#fff;align-content:center;padding:8vw 56px;display:grid}.login-panel h2{margin:0 0 22px;font-size:22px}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;gap:22px;min-height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.side-nav{gap:6px;display:grid}.side-nav__item{color:var(--ink-soft);border-radius:7px;align-items:center;gap:10px;min-height:40px;padding:9px 10px;display:flex}.side-nav__item:hover,.side-nav__item.is-active{background:var(--blue-soft);color:#005fc2}.sidebar-ai{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-soft);gap:4px;margin-top:auto;padding:12px;display:grid}.sidebar-ai small{color:var(--muted);line-height:1.5}.main{min-width:0;padding:26px}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.topbar h1{margin:2px 0 0;font-size:26px;line-height:1.25}.topbar__right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.eyebrow{color:var(--blue);text-transform:uppercase;margin:0;font-size:11px;font-weight:800;line-height:1.4}.user-chip{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:8px;min-height:36px;padding:7px 12px;display:inline-flex}.button,.icon-button{border:1px solid var(--line-strong);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:8px 12px;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.button{color:var(--ink);background:#fff;font-weight:700}.button:hover,.icon-button:hover{border-color:var(--blue);color:#005fc2}.button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.55}.button--primary{background:var(--blue);border-color:var(--blue);color:#fff}.button--primary:hover{color:#fff;background:#006ce0}.button--ghost{background:0 0}.button--wide{width:100%}.button--compact{text-overflow:ellipsis;white-space:nowrap;gap:5px;min-height:34px;padding:6px 8px;overflow:hidden}.button--mini{white-space:nowrap;min-height:32px;padding:5px 8px;font-size:12px}.icon-button{color:var(--ink-soft);background:#fff;width:36px;height:36px;padding:0}.metric-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.metric-strip--compact{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));margin:0}.metric{border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-height:104px;padding:16px}.metric span{color:var(--muted);font-size:12px;font-weight:700;display:block}.metric strong{margin-top:8px;font-size:28px;line-height:1.2;display:block}.metric small{color:var(--muted)}.dashboard-grid,.two-column,.report-layout,.campaign-workspace{gap:18px;display:grid}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column{grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr);align-items:start;margin-bottom:18px}.two-column--left{grid-template-columns:minmax(340px,420px) minmax(0,1fr)}.campaign-workspace{grid-template-columns:minmax(320px,.9fr) minmax(0,1.35fr);align-items:start;margin-bottom:18px}.workspace-column{gap:14px;display:grid}.workspace-column--wide{min-width:0}.panel-block,.tool-panel,.data-section,.preview-frame,.report-output{border:1px solid var(--line);border-radius:var(--radius);background:#fff}.panel-block,.tool-panel,.data-section,.report-output{padding:16px}.panel-block--wide{grid-column:1/-1}.section-heading,.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-heading h2,.panel-heading h2{margin:0;font-size:17px;line-height:1.3}.section-heading span{color:var(--muted);font-size:12px;font-weight:700}.list-stack,.company-list,.ticket-list,.timeline{gap:10px;display:grid}.list-item,.company-row,.ticket-row,.timeline-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.list-item{justify-content:space-between;align-items:center;gap:12px;min-height:96px;padding:12px;display:flex}.list-item__main{min-width:0}.list-item__title{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.list-item__title strong{font-size:14px;line-height:1.5}.list-item p,.timeline-item p,.company-row p,.ticket-row p{color:var(--ink-soft);margin:0}.list-item small,.timeline-item small,.company-row small,.ticket-row small{color:var(--muted)}.score-ring{background:var(--green-soft);color:var(--green);border:1px solid #bfead4;border-radius:999px;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;font-size:13px;font-weight:800;display:inline-flex}.timeline-item{grid-template-columns:72px minmax(0,1fr);gap:12px;min-height:76px;padding:12px;display:grid}.timeline-item time{color:var(--blue);font-size:12px;font-weight:800}.stack-form,.tool-panel,.editor-panel,.report-layout{gap:12px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.inline-form{grid-template-columns:minmax(180px,1.2fr) repeat(4,minmax(130px,1fr)) auto;align-items:end;gap:10px;display:grid}.inline-form--wrap{grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) minmax(180px,1.4fr) minmax(120px,.7fr) minmax(120px,.8fr) minmax(180px,1.4fr) auto}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;padding:12px;display:flex}.toolbar-panel__right{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;font-size:12px;font-weight:700;display:flex}.toolbar-panel__right strong{color:var(--ink-soft)}.form-message{color:var(--muted);margin:0;font-size:12px}.form-message--error{color:var(--red)}.result-box{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);gap:10px;padding:12px;display:grid}.result-box--large{padding:16px}.result-box strong{font-size:15px}.result-box dl,.mini-dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.result-box dl div,.mini-dl div{min-width:0}.result-box dt,.mini-dl dt{color:var(--muted);font-size:11px;font-weight:700}.result-box dd,.mini-dl dd{overflow-wrap:anywhere;margin:0}.result-box h3{margin:8px 0 0;font-size:14px}.result-box ul{margin:0;padding-left:20px}.result-box p{margin:0}.count-badge{background:var(--blue-soft);color:#005fc2;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.html-editor textarea{min-height:330px;font-family:Consolas,Courier New,monospace}.preview-frame{min-height:360px;overflow:hidden}.preview-frame__title{border-bottom:1px solid var(--line);color:var(--ink-soft);align-items:center;gap:8px;min-height:38px;padding:8px 12px;font-size:12px;font-weight:800;display:flex}.preview-frame iframe{border:0;width:100%;height:420px}.table-wrap{overflow-x:auto}.company-grid-table{gap:8px;padding-bottom:8px;display:grid;overflow-x:auto}.company-grid-table__head,.company-edit-row__main{grid-template-columns:46px minmax(150px,1.2fr) 126px 106px 106px 102px 74px 68px 58px 96px 54px 64px 82px 78px;gap:8px;min-width:1230px;display:grid}.company-grid-table__head{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);align-items:center;padding:8px 10px;font-size:12px;font-weight:800}.company-edit-row{border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-width:1230px}.company-edit-row__main{align-items:center;padding:10px}.company-name-cell,.company-history__manual,.drawer-section,.send-compose,.send-recipients,.mail-detail-body,.inbound-row__main,.inbound-row__side{gap:10px;display:grid}.company-name-cell__sub{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.numeric-field,.compact-select{min-height:34px;padding:6px 8px}.numeric-field{text-align:right}.numeric-field--aum{max-width:68px}.numeric-field--properties{max-width:58px}.numeric-field--probability{max-width:54px}.button-pair,.row-actions,.tag-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.button-pair{flex-wrap:nowrap}.company-history{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(260px,1fr) repeat(3,minmax(220px,.9fr));gap:12px;padding:12px;display:grid}.company-history h3,.drawer-section h3{margin:0 0 8px;font-size:13px}.company-history p{border:1px solid var(--line);background:#fff;border-radius:6px;gap:4px;margin:0 0 8px;padding:8px;display:grid}.toast-drawer{z-index:40;background:#11182733;justify-content:flex-end;padding:18px;display:flex;position:fixed;inset:0}.toast-drawer__panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;gap:14px;width:min(540px,100vw - 36px);max-height:calc(100vh - 36px);padding:16px;display:grid;overflow:auto}.modal-backdrop{z-index:45;background:#11182747;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modal-panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;gap:14px;width:min(720px,100vw - 36px);max-height:calc(100vh - 36px);padding:16px;display:grid;overflow:auto}.modal-panel--wide{width:min(1160px,100vw - 36px)}.modal-url-actions{align-items:end;gap:10px;display:flex}.multi-select-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.multi-select-grid h3{margin:0 0 8px;font-size:13px}.option-grid{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;display:grid}.contact-list,.card-preview-list,.recipient-list{gap:8px;display:grid}.contact-card,.card-preview,.recipient-company,.inbound-row{border:1px solid var(--line);border-radius:var(--radius);background:#fff}.contact-card,.card-preview,.recipient-company{gap:5px;padding:10px;display:grid}.contact-card span,.card-preview span{color:var(--ink-soft)}.contact-card small,.card-preview small,.recipient-company small{color:var(--muted)}.send-workspace{grid-template-columns:minmax(420px,1.08fr) minmax(360px,.92fr);align-items:start;gap:18px;display:grid}.send-footer{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);z-index:2;background:#fff;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex;position:sticky;bottom:16px}.recipient-list{max-height:480px;padding-right:4px;overflow:auto}.recipient-company>div{gap:4px;display:grid}.check-row{color:var(--ink-soft);flex-direction:row;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.check-row--compact{color:inherit;font-size:inherit}.check-row span{min-width:0}.check-row small{overflow-wrap:anywhere;font-weight:400;display:block}.mail-detail-grid{grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);align-items:start;gap:18px;display:grid}.tag-chip{border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800;line-height:1.3;display:inline-flex}.tag-chip--blue{background:var(--blue-soft);color:#005fc2;border-color:#b8d8ff}.tag-chip--amber{background:var(--amber-soft);color:var(--amber);border-color:#f1ce85}.tag-chip--neutral{background:var(--surface-soft);color:var(--muted)}.inbound-row{grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:12px;padding:14px;display:grid}.inbound-row p{color:var(--ink-soft);margin:0}.inbound-row pre,.inbound-row details pre{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink-soft);white-space:pre-wrap;border-radius:6px;max-height:220px;margin:8px 0 0;padding:10px;overflow:auto}.inbound-row summary{color:var(--blue);cursor:pointer;font-weight:800}.mini-dl--single{grid-template-columns:1fr}.company-row{grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:14px;padding:14px;display:grid}.company-row__summary{gap:10px;min-width:0;display:grid}.contact-strip{flex-wrap:wrap;gap:6px;display:flex}.contact-strip span{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;padding:3px 8px;font-size:12px}.progress-form,.ticket-row__form{align-content:start;gap:10px;display:grid}.progress-form{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-form label:nth-of-type(4),.progress-form label:nth-of-type(5),.progress-form button{grid-column:1/-1}.ticket-row{grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:12px;padding:14px;display:grid}.ticket-row--support{grid-template-columns:minmax(0,1fr) minmax(300px,380px)}.ticket-row__body{min-width:0}.ticket-row__side,.ticket-create-form{gap:12px;display:grid}.ticket-row pre{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink-soft);white-space:pre-wrap;border-radius:6px;max-height:260px;margin:10px 0;padding:10px;overflow:auto}.environment-box,.draft-box{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);gap:10px;margin-top:12px;padding:12px;display:grid}.environment-box strong,.draft-box h3{margin:0;font-size:13px}.draft-box p{margin:0}.draft-box pre{background:#fff;margin:0}.investigation-action{gap:6px;display:grid}.investigation-action small{color:var(--muted)}.report-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start}.report-output{gap:12px;display:grid}.status-pill{border:1px solid var(--line);white-space:nowrap;border-radius:999px;max-width:100%;padding:3px 8px;font-size:11px;font-weight:800;line-height:1.3;display:inline-flex}.status-pill--neutral{background:var(--surface-soft);color:var(--muted)}.status-pill--blue{background:var(--blue-soft);color:#005fc2;border-color:#b8d8ff}.status-pill--green{background:var(--green-soft);color:var(--green);border-color:#bfead4}.status-pill--amber{background:var(--amber-soft);color:var(--amber);border-color:#f1ce85}.status-pill--red{background:var(--red-soft);color:var(--red);border-color:#ffc3cc}.empty-text{color:var(--muted);margin:10px 0}.route-loading,.error-page{align-items:center;min-height:100vh;padding:24px;display:grid}.route-loading{justify-items:center}.route-loading p{color:var(--muted);margin:12px 0 0;font-weight:700}.loading-bar{background:var(--blue-soft);border-radius:999px;width:min(320px,80vw);height:5px;position:relative;overflow:hidden}.loading-bar:before{background:var(--blue);border-radius:inherit;content:"";width:40%;height:100%;animation:1s ease-in-out infinite loading-slide;position:absolute;top:0;left:-40%}.error-page .tool-panel{justify-self:center;width:100%;max-width:560px}.error-page h1{margin:0;font-size:20px}.error-page p{color:var(--ink-soft);margin:0}@keyframes loading-slide{0%{transform:translate(0)}to{transform:translate(350%)}}@media (max-width:1180px){.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.two-column,.campaign-workspace,.report-layout,.company-row,.ticket-row,.send-workspace,.mail-detail-grid,.inbound-row,.company-history{grid-template-columns:1fr}.inline-form,.inline-form--wrap{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.login-page,.app-shell{grid-template-columns:1fr}.login-hero,.login-panel{padding:32px 20px}.sidebar{min-height:auto;position:static}.side-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding:18px}.topbar{flex-direction:column;align-items:flex-start}.topbar__right{justify-content:flex-start;width:100%}.toolbar-panel,.send-footer{flex-direction:column;align-items:stretch}.toolbar-panel__right{justify-content:flex-start}.form-grid,.form-grid--three,.form-grid--four,.inline-form,.inline-form--wrap,.metric-strip,.result-box dl,.mini-dl,.progress-form{grid-template-columns:1fr}.progress-form label:nth-of-type(4),.progress-form label:nth-of-type(5),.progress-form button{grid-column:auto}.company-name-cell__sub,.multi-select-grid,.option-grid{grid-template-columns:1fr}}
