.portal{--navy:#16244a;--navy-2:#1d2f5e;--blue:#2563eb;--blue-dark:#1d4ed8;--blue-weak:#eff4ff;--blue-soft:#e8f0ff;--blue-border:#c7d7fb;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--green:#15803d;--green-bg:#dcfce7;--green-border:#bbf7d0;--amber:#b45309;--amber-bg:#fef3c7;--amber-border:#fce29a;--rose:#be123c;--rose-bg:#ffe4e6;--radius:14px;--shadow-xs:0 1px 2px #0f172a0d;--shadow-sm:0 1px 2px #0f172a0a, 0 1px 3px #0f172a0f;--shadow-md:0 4px 16px #0f172a14;background:radial-gradient(900px 360px at 100% -120px, #2563eb0f, transparent 60%), var(--slate-100);min-height:100vh;color:var(--slate-800);letter-spacing:.005em;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-size:14px;line-height:1.45}.portal *{box-sizing:border-box}.portal button{font-family:inherit}.shell{max-width:1180px;margin:0 auto;padding:0 24px}.topbar{z-index:50;-webkit-backdrop-filter:saturate(180%)blur(8px);border-bottom:1px solid var(--slate-200);background:#ffffffeb;position:sticky;top:0;box-shadow:0 1px #0f172a0a,0 8px 24px #0f172a0a}.topbar__inner{align-items:center;gap:18px;max-width:1180px;margin:0 auto;padding:8px 24px;display:flex}.brand{flex-shrink:0;align-items:center;gap:11px;display:flex}.brand__mark{background:linear-gradient(150deg, var(--navy) 0%, var(--navy-2) 60%, var(--blue) 130%);color:#fff;letter-spacing:-.02em;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:17px;font-weight:800;display:flex;box-shadow:0 4px 12px #16244a47,inset 0 1px #ffffff2e}.brand__text{flex-direction:column;line-height:1.18;display:flex}.brand__name{color:var(--navy);letter-spacing:.01em;font-size:16px;font-weight:800}.brand__sub{color:var(--slate-400);letter-spacing:.14em;font-size:10.5px;font-weight:600}.spacer{flex:1}.account{flex-shrink:0;align-items:center;gap:13px;display:flex}.account__id{align-items:center;gap:10px;display:flex}.account__avatar{color:#fff;background:linear-gradient(150deg,#2f4684,#1c2c57);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex;box-shadow:0 2px 8px #16244a40}.account__meta{text-align:right;flex-direction:column;line-height:1.25;display:flex}.account__role{letter-spacing:.1em;color:var(--slate-400);font-size:10px;font-weight:700}.account__name{color:var(--navy);white-space:nowrap;font-size:13.5px;font-weight:700}.logout{border:1px solid var(--slate-200);color:var(--slate-600);cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:6px;padding:8px 13px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.logout:hover{border-color:var(--slate-300);background:var(--slate-50);color:var(--slate-800)}.pageintro{padding:12px 0 2px}.pageintro__row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.pageintro h1{color:var(--navy);letter-spacing:.01em;align-items:center;gap:11px;margin:0 0 6px;font-size:22px;font-weight:800;display:flex}.pageintro h1 .pulse{background:var(--blue);border-radius:50%;flex-shrink:0;width:9px;height:9px;box-shadow:0 0 0 4px #2563eb29}.pageintro__lead{color:var(--slate-500);max-width:680px;font-size:13.5px}.pageintro__lead b{color:var(--slate-700);font-weight:700}.advisor{border:1px solid var(--slate-200);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;align-items:center;gap:11px;padding:9px 14px 9px 11px;display:flex}.advisor__avatar{border:1px solid var(--blue-border);width:34px;height:34px;color:var(--blue-dark);background:linear-gradient(150deg,#e3edff,#cfe0ff);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.advisor__label{letter-spacing:.1em;color:var(--slate-400);font-size:10px;font-weight:700}.advisor__name{color:var(--navy);font-size:13px;font-weight:700}.summary{border:1px solid var(--slate-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;flex-wrap:wrap;align-items:stretch;margin-top:10px;padding:6px 8px;display:flex}.sm{flex-direction:column;flex:1 1 0;gap:3px;min-width:120px;padding:8px 12px;display:flex;position:relative}.sm+.sm:before{content:"";background:var(--slate-200);width:1px;position:absolute;top:18%;bottom:18%;left:0}.sm__num{color:var(--navy);letter-spacing:.01em;align-items:baseline;gap:4px;font-size:21px;font-weight:800;line-height:1;display:flex}.sm__num .u{color:var(--slate-400);font-size:11px;font-weight:700}.sm__label{color:var(--slate-500);align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:flex}.sm__label .d{border-radius:50%;flex-shrink:0;width:7px;height:7px}.sm--total .sm__num{color:var(--blue-dark)}.d-blue{background:var(--blue)}.d-green{background:var(--green)}.d-slate{background:var(--slate-400)}.d-indigo{background:#4f46e5}.d-rose{background:var(--rose)}.listhead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:14px 0 7px;display:flex}.listhead__title{color:var(--navy);align-items:center;gap:9px;font-size:15px;font-weight:800;display:flex}.listhead__title .count{color:var(--blue-dark);background:var(--blue-weak);border:1px solid var(--blue-border);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.tablewrap{border:1px solid var(--slate-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);-webkit-overflow-scrolling:touch;background:#fff;overflow-x:auto}.ttable{border-collapse:separate;border-spacing:0;width:100%;min-width:1120px;font-size:13px}.ttable thead th{z-index:2;background:var(--slate-50);text-align:left;letter-spacing:.05em;color:var(--slate-500);text-transform:uppercase;border-bottom:1px solid var(--slate-200);white-space:nowrap;padding:7px 12px;font-size:11px;font-weight:800;position:sticky;top:0}.ttable thead th.th-idx{text-align:center;width:46px;padding-left:14px;padding-right:8px}.ttable thead th.th-check{white-space:nowrap;width:1%}.ttable thead th.th-detail{text-align:center;width:1%}.ttable tbody td{border-bottom:1px solid var(--slate-100);vertical-align:middle;color:var(--slate-600);padding:8px 12px}.ttable tbody tr.trow:nth-child(4n+1) td{background:#fcfdff}.ttable tbody tr.trow:hover td{background:var(--blue-weak)}.ttable tbody tr.trow{transition:background .12s}.ttable tbody tr.trow.is-open td{background:#f6f9ff}.cell-idx{text-align:center;color:var(--slate-400);font-variant-numeric:tabular-nums;padding-left:14px;padding-right:8px;font-size:12px;font-weight:700}.cell-name{min-width:210px}.cell-detail{text-align:center}.tname{color:var(--navy);letter-spacing:.01em;align-items:center;gap:8px;font-size:14px;font-weight:700;line-height:1.3;display:flex}.tname .new{letter-spacing:.06em;color:#fff;background:var(--blue);border-radius:5px;flex-shrink:0;padding:1px 6px;font-size:9px;font-weight:800}.cell-ind .indv,.cell-area .areav{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.cell-ind .ico,.cell-area .ico,.cell-url .ico{color:var(--slate-400);flex-shrink:0;display:inline-flex}.cell-updated{color:var(--slate-400);white-space:nowrap;font-variant-numeric:tabular-nums}.cell-url{max-width:130px}.urlv{max-width:130px;color:var(--blue-dark);align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:inline-flex}.urlv .txt{text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--blue-border);overflow:hidden}.urlv:hover .txt{border-bottom-color:var(--blue)}.cell-rev{white-space:nowrap}.revv{color:var(--slate-700);font-variant-numeric:tabular-nums;align-items:baseline;gap:1px;font-size:13px;font-weight:700;display:inline-flex}.badge{letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:5px 12px 5px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge .bdot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.badge--todo{background:var(--slate-100);color:var(--slate-600);border-color:var(--slate-200)}.badge--todo .bdot{background:var(--slate-400)}.badge--approach{background:var(--blue-weak);color:var(--blue-dark);border-color:var(--blue-border)}.badge--approach .bdot{background:var(--blue)}.badge--premeeting{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.badge--premeeting .bdot{background:#4f46e5}.badge--met{background:var(--green-bg);color:var(--green);border-color:var(--green-border)}.badge--met .bdot{background:var(--green)}.badge--ng{background:var(--rose-bg);color:var(--rose);border-color:#fecdd3}.badge--ng .bdot{background:var(--rose)}.checksel{appearance:none;letter-spacing:.01em;border:1px solid var(--slate-300);cursor:pointer;color:var(--slate-500);background-color:#fff;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-position:right 8px center;background-repeat:no-repeat;border-radius:8px;padding:5px 26px 5px 11px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.3;transition:border-color .15s,box-shadow .15s,color .15s,background-color .15s}.checksel:hover{border-color:var(--slate-400);box-shadow:var(--shadow-xs)}.checksel:focus-visible{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #2563eb29}.checksel--unset{color:var(--slate-400);border-color:var(--slate-200);background-color:var(--slate-50)}.checksel--yes{color:var(--blue-dark);border-color:var(--blue-border);background-color:var(--blue-weak);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>")}.checksel--maybe{color:var(--amber);border-color:var(--amber-border);background-color:var(--amber-bg);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23b45309' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>")}.checksel--pass{color:var(--slate-600);border-color:var(--slate-300);background-color:var(--slate-100)}.checksel option{color:var(--slate-800);font-weight:600}.cell-check .checksel{background-position:right 7px center;padding:4px 24px 4px 9px;font-size:11.5px}.checksel--lg{background-position:right 11px center;border-radius:11px;padding:9px 32px 9px 15px;font-size:13px}.opnlink{color:var(--blue-dark);background:var(--blue-weak);border:1px solid var(--blue-border);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:6px 11px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.opnlink:hover{background:var(--blue-soft);border-color:var(--blue);box-shadow:var(--shadow-xs)}.opnlink svg{width:13px;height:13px}.opnlink--open{color:var(--slate-600);border-color:var(--slate-300);background:#fff}.opnlink--open:hover{background:var(--slate-50)}.detailrow>td{border-bottom:1px solid var(--slate-200);background:#fff;padding:0}.detail{background:#fff;position:relative;overflow:hidden}.detail:before{content:"";background:linear-gradient(180deg, var(--blue), var(--navy-2));width:4px;position:absolute;top:0;bottom:0;left:0}.detail__body{grid-template-columns:1.35fr 1fr;gap:0;display:grid}.detail__left{border-right:1px solid var(--slate-100);padding:22px 24px 24px}.detail__right{background:var(--slate-50);padding:22px 24px 24px}.blocklabel{letter-spacing:.12em;color:var(--slate-400);text-transform:uppercase;align-items:center;gap:8px;margin-bottom:16px;font-size:11px;font-weight:800;display:flex}.blocklabel .ico{color:var(--blue);display:inline-flex}.deflist{flex-direction:column;gap:0;margin:0;display:flex}.deframe{border-bottom:1px solid var(--slate-100);align-items:flex-start;gap:14px;padding:11px 0;display:flex}.deframe:last-child{border-bottom:0}.deframe__k{color:var(--slate-500);flex:0 0 86px;align-items:center;gap:7px;padding-top:1px;font-size:12px;font-weight:700;display:flex}.deframe__k .ico{color:var(--blue);opacity:.85;flex-shrink:0;display:inline-flex}.deframe__v{min-width:0;color:var(--slate-700);flex:1;font-size:13px;line-height:1.5}.deframe__v .num{color:var(--navy);font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.deframe__v .u{color:var(--slate-400);margin-left:2px;font-size:11px;font-weight:600}.deframe__v .date{color:var(--slate-800);font-variant-numeric:tabular-nums;font-weight:700}.deframe__v .done{color:var(--green);background:var(--green-bg);border:1px solid var(--green-border);vertical-align:1px;border-radius:5px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:700}.deframe__v .plan{color:var(--blue-dark);background:var(--blue-weak);border:1px solid var(--blue-border);vertical-align:1px;border-radius:5px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:700}.deframe__v .muted{color:var(--slate-400)}.milestones{margin-top:18px}.milestones__label{letter-spacing:.12em;color:var(--slate-400);text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800}.detail__empty{color:var(--slate-400);background:var(--slate-50);border:1px dashed var(--slate-200);border-radius:9px;padding:14px 16px;font-size:12.5px;line-height:1.6}.detailreact{margin-top:4px}.detailreact__q{color:var(--navy);align-items:center;gap:8px;margin-bottom:11px;font-size:13px;font-weight:700;display:flex}.comment__history{flex-direction:column;gap:12px;max-height:300px;margin-bottom:16px;padding-right:6px;display:flex;overflow-y:auto}.comment__empty{color:var(--slate-400);margin-bottom:14px;font-size:12.5px}.cmt{gap:10px;display:flex}.cmt__avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:flex}.cmt__avatar--client{color:#fff;background:linear-gradient(150deg,#2f4684,#1c2c57)}.cmt__avatar--advisor{background:var(--blue-soft);border:1px solid var(--blue-border);color:var(--blue-dark)}.cmt__bubble{border:1px solid var(--slate-200);color:var(--slate-700);min-width:0;box-shadow:var(--shadow-xs);background:#fff;border-radius:4px 12px 12px;flex:1;padding:9px 13px;font-size:12.5px;line-height:1.55}.cmt__who{color:var(--navy);align-items:center;gap:8px;margin-bottom:2px;font-size:11px;font-weight:700;display:flex}.cmt__who .t{color:var(--slate-400);font-size:10.5px;font-weight:500}.cmt--advisor .cmt__bubble{background:var(--blue-weak);border-color:var(--blue-border)}.compose{border:1px solid var(--slate-200);box-shadow:var(--shadow-xs);background:#fff;border-radius:12px;overflow:hidden}.compose textarea{resize:none;width:100%;color:var(--slate-800);background:0 0;border:0;outline:none;min-height:74px;padding:12px 14px;font-family:inherit;font-size:13px;line-height:1.6}.compose textarea::placeholder{color:var(--slate-400)}.compose__bar{border-top:1px solid var(--slate-100);background:var(--slate-50);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px 8px 14px;display:flex}.compose__hint{color:var(--slate-400);align-items:center;gap:6px;font-size:11px;display:flex}.btn{cursor:pointer;letter-spacing:.01em;border:0;border-radius:9px;align-items:center;gap:7px;padding:9px 16px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.btn--primary{background:linear-gradient(150deg, var(--blue), var(--blue-dark));color:#fff;box-shadow:0 4px 12px #2563eb47}.btn--primary:hover{filter:brightness(1.05)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.foot{text-align:center;color:var(--slate-400);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:32px 0 40px;font-size:11.5px;display:flex}.foot .sep{background:var(--slate-300);border-radius:50%;width:3px;height:3px}.portal__state{text-align:center;max-width:1180px;color:var(--slate-500);margin:0 auto;padding:60px 24px;font-size:14px}.portal__state--error{color:var(--rose)}.portal__boot{color:#64748b;justify-content:center;align-items:center;min-height:100vh;font-family:system-ui,-apple-system,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-size:14px;display:flex}@media (max-width:900px){.detail__body{grid-template-columns:1fr}.detail__left{border-right:0;border-bottom:1px solid var(--slate-100)}}@media (max-width:760px){.shell,.topbar__inner{padding-left:16px;padding-right:16px}.brand__sub,.account__meta{display:none}.pageintro__row{flex-direction:column;align-items:flex-start}.sm{min-width:33%}.sm+.sm:before{display:none}}
