:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#15313a;background:#f4f7f8;font-synthesis:none;--ink: #15313a;--muted: #6d7f85;--navy: #0d3b4c;--teal: #168477;--line: #dce6e8;--paper: #ffffff;--danger: #c64d45;--shadow: 0 8px 24px rgba(19, 58, 69, .07)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top right,#dcebea 0,transparent 28rem),#f4f7f8}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}.page-shell{width:min(100%,1100px);margin:0 auto;padding:24px 18px calc(104px + env(safe-area-inset-bottom))}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;padding-right:118px}.page-header h1,.detail-hero h1{margin:3px 0 0;font-size:clamp(1.8rem,6vw,2.55rem);letter-spacing:-.035em}.eyebrow,.section-kicker{margin:0;color:var(--teal);font-size:.69rem;font-weight:800;letter-spacing:.16em}.icon-button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fffc;color:var(--navy);display:grid;place-items:center}.bottom-nav{position:fixed;z-index:20;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;width:min(calc(100% - 32px),390px);padding:7px;border:1px solid rgba(255,255,255,.45);border-radius:22px;background:#0d3b4cf0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 14px 35px #0d3b4c40}.bottom-nav a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:16px;color:#bcd0d4;font-size:.8rem;font-weight:700}.bottom-nav a.router-link-active{color:#fff;background:#ffffff24}.global-brand{position:fixed;z-index:24;top:max(15px,env(safe-area-inset-top));right:max(17px,calc((100vw - 1100px)/2 + 18px));display:inline-flex;align-items:center;gap:5px;padding:6px 8px 6px 6px;border:1px solid rgba(13,59,76,.1);border-radius:12px;background:#ffffffe0;box-shadow:0 7px 22px #0d3b4c17;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--navy)}.brand-monogram{display:grid;place-items:center;min-width:27px;height:27px;padding:0 5px;border-radius:8px;background:var(--navy);color:#fff;font-size:.68rem;font-weight:900;letter-spacing:.04em}.global-brand strong{font-size:.9rem;letter-spacing:-.03em}.global-brand em{align-self:flex-start;margin-top:1px;color:var(--teal);font-size:.52rem;font-style:normal;font-weight:850;text-transform:uppercase}.metric-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;margin-bottom:30px;border:1px solid var(--line);border-radius:18px;background:var(--line);box-shadow:var(--shadow)}.metric-strip a{position:relative;padding:16px 12px;background:#ffffffe6;transition:background .15s,transform .15s}.metric-strip a:after{content:"›";position:absolute;top:13px;right:11px;color:#91a4a9;font-size:1rem}.metric-strip a:active{transform:scale(.98);background:#f7fbfa}.metric-strip a:focus-visible{z-index:1;outline:3px solid rgba(22,132,119,.22);outline-offset:-3px}.metric-strip span{display:block;color:var(--muted);font-size:.7rem}.metric-strip strong{display:block;margin-top:6px;color:var(--navy);font-size:1.55rem}.metric-strip strong.danger{color:var(--danger)}.content-section{margin:30px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:0 2px 12px}.section-heading h2,.detail-section h2{margin:2px 0 0;font-size:1.08rem}.section-heading>span{color:var(--muted);font-size:.75rem}.title-with-icon{display:flex;align-items:center;gap:8px;color:var(--navy)}.board-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,83vw);gap:12px;overflow-x:auto;padding:2px 2px 13px;scroll-snap-type:x mandatory}.board-column{min-height:145px;padding:14px;border:1px solid var(--line);border-radius:19px;background:#ebf2f3c7;scroll-snap-align:start}.board-column>header{display:flex;justify-content:space-between;margin:0 3px 12px;color:#536d74;font-size:.8rem;font-weight:800}.board-column>header b{min-width:22px;padding:2px 7px;border-radius:12px;background:#d7e5e6;text-align:center}.column-empty,.muted{color:#8a9b9f;font-size:.8rem}.card-list{display:grid;gap:10px}.record-card{display:block;padding:16px;border:1px solid var(--line);border-radius:17px;background:var(--paper);box-shadow:0 4px 16px #15313a0b;transition:transform .15s,border-color .15s}.record-card:active{transform:scale(.988)}.record-card.compact{margin-bottom:9px;padding:13px;box-shadow:none}.record-title-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.record-title-row h3{margin:0;font-size:.94rem;line-height:1.45}.chevron{flex:0 0 auto;color:#8ba0a5}.record-meta{display:flex;flex-wrap:wrap;gap:9px 14px;margin-top:9px;color:var(--muted);font-size:.72rem}.record-meta span,.pending-time,.health,.notice,.input-with-icon span{display:inline-flex;align-items:center;gap:4px}.card-footer{display:flex;align-items:center;gap:7px;margin-top:11px}.status-pill,.type-chip{display:inline-block;padding:4px 8px;border-radius:8px;background:#e5f0ef;color:#16675f;font-size:.68rem;font-weight:750}.type-chip{margin-right:7px;background:#e7edf0;color:var(--navy)}.health{font-size:.68rem;font-weight:750}.health.overdue{color:#b73c35}.health.stale,.pending-time{color:#9b6514}.empty-panel,.state-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:116px;padding:22px;border:1px dashed #cbdadc;border-radius:17px;color:var(--muted);text-align:center}.empty-panel p{margin:0;font-size:.84rem}.subdued-section{opacity:.82}.login-page{min-height:100vh;display:grid;place-items:center;padding:26px 20px;background:linear-gradient(145deg,#0b3444,#105566 52%,#168477)}.login-card{width:min(100%,410px);padding:34px 28px;border-radius:28px;background:#f9fbfb;box-shadow:0 24px 70px #00000038}.brand-mark{display:grid;place-items:center;width:52px;height:52px;margin-bottom:24px;border-radius:17px;background:var(--navy);color:#fff}.login-card h1{margin:6px 0;font-size:1.75rem;letter-spacing:-.03em}.login-intro{margin:0 0 27px;color:var(--muted);font-size:.88rem}.link-exchange-card{text-align:center}.login-card form,.detail-form{display:grid;gap:16px}.login-card label,.detail-form label{color:#526b72;font-size:.75rem;font-weight:700}input,textarea{width:100%;margin-top:7px;padding:12px 13px;border:1px solid #cad9dc;border-radius:11px;outline:none;background:#fff;color:var(--ink)}input:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #1684771a}.primary-button,.secondary-button,.danger-button{min-height:45px;border:0;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:800}.primary-button{width:100%;background:var(--navy);color:#fff}.primary-button:disabled{opacity:.58}.primary-button.small{min-height:40px}.form-error{color:#ae3732;font-size:.78rem}.error-state{color:#ae3732}.error-state button{border:0;background:none;color:var(--teal);font-weight:800}.search-panel{display:grid;gap:10px;padding:16px;margin-bottom:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.search-field{position:relative;color:var(--muted)}.search-field svg{position:absolute;top:20px;left:13px}.search-field input{margin:0;padding-left:40px}.search-actions{display:flex;align-items:center;gap:12px}.text-button{border:0;background:none;color:var(--muted);display:flex;gap:4px;align-items:center}.memo-empty span{font-size:.74rem}.detail-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-right:118px;font-size:.8rem;font-weight:800}.detail-topbar i{width:42px}.detail-hero{padding:24px;border-radius:23px;background:linear-gradient(145deg,#0d3b4c,#125969);color:#fff;box-shadow:0 16px 35px #0d3b4c2b}.detail-hero .status-pill{background:#ffffff26;color:#fff}.detail-hero .type-chip{background:#ffffffe6}.detail-hero h1{margin-top:17px;font-size:1.65rem;line-height:1.36}.health-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.detail-hero .health,.detail-hero .pending-time{color:#ffe0a3}.notice{margin:14px 0 0;padding:11px 13px;border-radius:11px;background:#dff1ec;color:#176d62;font-size:.78rem;font-weight:700}.detail-section{margin-top:17px;padding:19px;border:1px solid var(--line);border-radius:19px;background:#fff}.detail-section h2{margin-bottom:17px}.detail-form textarea{resize:vertical}.input-with-icon span{display:flex}.tag-field{display:grid;gap:7px}.field-label{color:#526b72;font-size:.75rem;font-weight:700}.tag-editor{padding:9px 10px;border:1px solid #cad9dc;border-radius:11px;background:#fff}.tag-editor:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #1684771a}.tag-capsules{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:7px}.tag-capsule{display:inline-flex;align-items:center;gap:4px;min-height:29px;padding:4px 7px 4px 10px;border-radius:999px;background:#e5f0ef;color:#16675f;font-size:.72rem;font-weight:750}.tag-capsule button{display:grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:50%;background:#16675f14;color:inherit}.tag-editor input{margin:0;padding:4px 2px;border:0;border-radius:0;box-shadow:none}.form-hint{color:var(--muted);font-size:.66rem;line-height:1.45}.action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.secondary-button{border:1px solid #bfd1d4;background:#f5f9f9;color:var(--navy)}.danger-button{border:1px solid #e5c5c3;background:#fff6f5;color:#a93e39}.timeline{list-style:none;margin:0;padding:0}.timeline li{position:relative;display:grid;grid-template-columns:15px 1fr;gap:11px;padding-bottom:20px}.timeline li:not(:last-child):before{content:"";position:absolute;left:6px;top:13px;bottom:0;width:1px;background:#d6e3e5}.timeline-dot{z-index:1;width:13px;height:13px;margin-top:4px;border:3px solid white;border-radius:50%;background:#82999e;box-shadow:0 0 0 1px #bdced1}.timeline-dot.user_reply{background:var(--teal)}.timeline p{margin:0 0 5px;font-size:.84rem;line-height:1.5}.timeline time{color:var(--muted);font-size:.66rem}.chat-page{min-height:100vh;display:flex;flex-direction:column}.chat-list{display:flex;flex-direction:column;gap:12px;padding:4px 0 18px}.chat-row{display:flex;justify-content:flex-start}.chat-row.mine{justify-content:flex-end}.chat-bubble{max-width:min(84%,620px);padding:12px 14px 10px;border:1px solid var(--line);border-radius:18px 18px 18px 5px;background:#fff;box-shadow:0 4px 16px #15313a0b}.chat-row.mine .chat-bubble{border-color:#b8dcd6;border-radius:18px 18px 5px;background:#dff1ec}.chat-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.88rem;line-height:1.58}.inline-record-link{display:inline-block;color:var(--teal);font-weight:750;text-decoration:underline;text-underline-offset:3px}.chat-bubble footer{display:flex;gap:8px;margin-top:7px;color:var(--muted);font-size:.61rem}.people-list,.person-records{display:grid;gap:12px}.person-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 5px 18px #15313a0d;color:inherit}.person-card h2{margin:0 0 4px;font-size:1rem}.person-card p{margin:0;color:var(--muted);font-size:.72rem}.person-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#e3f1ee;color:var(--teal);font-weight:800}.person-avatar.large{width:58px;height:58px;border-radius:19px;font-size:1.25rem}.person-counts{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:1px 6px;text-align:right}.person-counts strong{color:var(--deep)}.person-counts span{color:var(--muted);font-size:.63rem}.person-hero{display:flex;align-items:center;gap:14px;margin:18px 0;padding:18px;border-radius:20px;background:linear-gradient(135deg,#eaf5f2,#f8fbfa)}.person-hero h1,.person-hero p{margin:0}.person-hero h1{margin:2px 0 5px;font-size:1.45rem}.person-hero>div:last-child>p:last-child{color:var(--muted);font-size:.76rem}.person-aliases{margin-bottom:10px}.inline-form{display:flex;align-items:stretch;gap:8px}.inline-form input{flex:1;margin:0}.inline-form button{flex:0 0 auto}.meeting-summary{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:13px;padding:15px;border-radius:15px;background:#f2f8f6;color:var(--deep)}.meeting-summary p{margin:0;white-space:pre-wrap;line-height:1.65;font-size:.82rem}.person-record-block{display:grid;gap:7px}.person-record-block details{padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:#ffffffb3}.person-record-block summary{color:var(--teal);cursor:pointer;font-size:.72rem;font-weight:750}.relation-chip{justify-self:start;padding:3px 8px;border-radius:999px;background:#dce8ef;color:var(--navy);font-size:.66rem;font-weight:800}.relation-chip.participant{background:#e5f0ef;color:#16675f}.mini-timeline{display:grid;gap:8px;margin:10px 0 0;padding:0 0 0 18px}.mini-timeline p{margin:0;font-size:.75rem}.mini-timeline time{color:var(--muted);font-size:.62rem}.delivery-state{color:var(--teal);font-weight:750}.delivery-state.failed{color:var(--danger)}.related-record-link{display:inline-block;margin-top:8px;color:var(--teal);font-size:.7rem;font-weight:800}.chat-empty span{max-width:310px;font-size:.74rem}.chat-error{margin:8px 3px}.chat-composer{position:sticky;bottom:calc(80px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 44px;gap:9px;align-items:end;margin-top:auto;padding:9px;border:1px solid rgba(202,217,220,.9);border-radius:18px;background:#ffffffeb;box-shadow:0 12px 32px #0d3b4c21;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.chat-composer textarea{min-height:44px;max-height:130px;margin:0;padding:11px 12px;resize:none;border:0;background:transparent;box-shadow:none}.send-button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:14px;background:var(--navy);color:#fff}.send-button:disabled{opacity:.4}@media(min-width:760px){.page-shell{padding-top:38px}.board-scroll{grid-auto-flow:initial;grid-template-columns:repeat(3,1fr);overflow:visible}.metric-strip a{padding:20px}.card-list{grid-template-columns:repeat(2,1fr)}.search-panel{grid-template-columns:1fr 1fr auto;align-items:center}.search-actions .primary-button{width:90px}.detail-page{max-width:760px}}
