*{box-sizing:border-box}body{margin:0;background:#f5f6f8;color:#202530;font:16px/1.5 "Segoe UI",system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible{outline:3px solid #bd8d32;outline-offset:3px}input,select,textarea{width:100%;min-width:0;border:1px solid #cfd4dc;border-radius:7px;padding:10px 12px;background:white;color:#202530}textarea{resize:vertical;min-height:96px}a{color:#0f766e}h1,h2,h3,p{margin:0}h1{font-size:1.55rem;font-weight:650}h2{font-size:1.2rem}h3{font-size:1rem}.boot{padding:60px;text-align:center}.muted{color:#667080;font-size:.875rem}.shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid #dce0e6;padding:24px 16px;display:flex;flex-direction:column;gap:30px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.3px}.brand img{width:34px;height:34px}.brand small{display:block;font-weight:400;font-size:.8rem;letter-spacing:0;color:#667080}.nav{display:flex;flex-direction:column;gap:6px}.nav button{border:0;background:transparent;text-align:left;color:#596374;padding:11px 13px;border-radius:7px;font-size:.925rem}.nav button.active{background:#e6f7f4;color:#115e59;font-weight:600}.nav button:hover{background:#f2f3f5}.identity{margin-top:auto;padding-top:20px;border-top:1px solid #e3e6ea;display:flex;gap:9px;align-items:center}.avatar{display:inline-flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#e9ecf1;color:#3d4757;font-size:.875rem;font-weight:600}.avatar.large{width:40px;height:40px;background:#e6f7f4;color:#115e59}.main{min-width:0;padding:26px 30px 40px}.pagehead{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:22px}.pagehead>div{min-width:0}.pagehead p{margin-top:3px}.btn{border:1px solid #d1d6df;border-radius:7px;padding:8px 13px;background:#fff;color:#303a48;font-size:.925rem;white-space:normal}.btn:hover{background:#f5f6f8}.btn.primary{background:#0f766e;color:#fff;border-color:#0f766e}.btn.primary:hover{background:#115e59}.btn.danger{color:#a52529;border-color:#e4b9bc}.btn.quiet{border-color:transparent;background:transparent;color:#667080}.topactions{display:flex;gap:8px;flex-wrap:wrap}.demo{padding:9px 14px;margin-bottom:20px;border:1px solid #d8bd80;border-radius:7px;background:#effaf7;color:#705116;font-size:.875rem}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.metric{background:#fff;border:1px solid #dce0e6;border-radius:9px;padding:16px 18px}.metric strong{display:block;font-size:1.6rem;line-height:1.2;margin-bottom:5px}.metric span{color:#667080;font-size:.875rem}.metric.alert strong{color:#a52529}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.toolbar input[type=search]{max-width:290px}.toolbar select{width:auto;max-width:220px}.toolbar label{display:flex;align-items:center;gap:7px;font-size:.925rem}.toolbar input[type=checkbox]{width:auto}.viewtoggle{margin-left:auto;display:flex;gap:4px}.viewtoggle .selected{border-color:#0f766e;color:#115e59;background:#effaf7}.board{display:flex;gap:16px;overflow-x:auto;align-items:stretch;padding-bottom:20px;min-height:440px}.column{flex:1 0 220px;min-width:220px;max-width:280px}.columnhead{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:.875rem;font-weight:600}.dot{width:8px;height:8px;border-radius:50%;background:#929cac;display:inline-block}.dot.ready{background:#648cb5}.dot.doing{background:#9869ba}.dot.blocked,.dot.rework{background:#ba685c}.dot.review{background:#b58b37}.dot.accepted{background:#579379}.count{font-size:.8rem;font-weight:400;color:#768091}.taskcard{display:block;text-align:left;width:100%;border:1px solid #dce0e6;border-radius:8px;background:#fff;color:inherit;padding:14px;margin-bottom:10px;box-shadow:0 2px 3px #17223505}.taskcard:hover{border-color:#5ab8ac;box-shadow:0 3px 10px #17223509}.taskid{font-size:.75rem;color:#768091;margin-bottom:7px}.tasktitle{font-size:.925rem;font-weight:600;margin-bottom:12px;overflow-wrap:anywhere}.taskfoot{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.8rem;color:#667080}.tag{font-size:.75rem;border-radius:4px;padding:2px 6px;background:#f0f2f5;color:#525d6d}.tag.high,.tag.urgent{background:#f9eee9;color:#9a5146}.overdue{color:#a52529}.blocker{margin-top:10px;padding-top:10px;border-top:1px solid #ebeef2;font-size:.8rem;color:#a25246}.empty{font-size:.9rem;color:#768091;padding:18px 10px;text-align:center}.tablewrap{overflow-x:auto;background:#fff;border:1px solid #dce0e6;border-radius:8px}table{width:100%;border-collapse:collapse;font-size:.925rem}th,td{text-align:left;border-bottom:1px solid #e7eaf0;padding:12px 15px;vertical-align:middle}th{color:#667080;font-size:.8rem;font-weight:500;background:#fafbfc}tr:last-child td{border-bottom:0}.rowopen{border:0;background:transparent;text-align:left;color:#202530;padding:0;font:inherit;font-weight:500}.section{background:#fff;border:1px solid #dce0e6;border-radius:9px;padding:20px;margin-bottom:16px}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.docbody,.description,.commenttext{white-space:pre-wrap;overflow-wrap:anywhere}.docbody{font-size:.925rem}.people{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.person{background:#fff;border:1px solid #dce0e6;border-radius:9px;padding:18px}.personhead{display:flex;gap:12px;align-items:center;margin-bottom:15px}.person .btn{margin-top:10px}.activity{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;border-bottom:1px solid #e7eaf0;padding:14px 0;align-items:start}.activity:last-child{border:0}.activity p{font-size:.925rem}.activity time{font-size:.8rem;color:#768091}.source{font-size:.75rem;color:#115e59;margin-left:6px}.login{min-height:100vh;display:grid;place-items:center;padding:25px}.loginbox{max-width:430px;width:100%;background:#fff;border:1px solid #dce0e6;border-radius:12px;padding:32px}.loginbox h1{font-size:1.35rem;margin-top:28px}.loginbox p{margin:8px 0 24px}.form{display:grid;gap:15px}.field{display:grid;gap:6px;font-size:.925rem}.field span{font-weight:500}.form .btn{margin-top:4px}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:15px}.formerror{color:#a52529;font-size:.925rem;min-height:0}.help{font-size:.8rem;color:#667080}dialog{padding:0;border:1px solid #d1d6df;border-radius:12px;max-width:760px;width:calc(100% - 32px);max-height:90vh;box-shadow:0 20px 70px #20253026}dialog::backdrop{background:#17223566}.modalhead{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid #e3e6ea}.modalbody{padding:22px 24px}.modalhead .btn{padding:3px 10px;font-size:1.3rem}.detailmeta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.detailmeta div{font-size:.925rem}.detailmeta small{display:block;color:#768091}.detailactions{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.detailsection{padding-top:20px;margin-top:20px;border-top:1px solid #e3e6ea}.detailsection h3{margin-bottom:12px}.result{background:#f5f7f9;border-radius:7px;padding:14px;margin:10px 0}.result p{margin:8px 0;font-size:.925rem;white-space:pre-wrap;overflow-wrap:anywhere}.comment{padding:12px 0;border-bottom:1px solid #eef0f3}.commenttext{font-size:.925rem;margin-top:6px}.secret{font-family:monospace;overflow-wrap:anywhere;padding:14px;background:#f5f7f9;border-radius:7px;margin:15px 0;user-select:all}.loginbox .brand small{font-size:.8rem}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#263140;color:white;border-radius:8px;padding:12px 20px;max-width:calc(100% - 32px);box-shadow:0 5px 18px #17223520;z-index:20;display:none;font-size:.925rem}#notice.visible{display:block}.mobilelabel{display:none}@media(max-width:850px){.shell{grid-template-columns:180px minmax(0,1fr)}.main{padding:22px 20px}.sidebar{padding:22px 12px}.brand{font-size:.95rem}.metrics{grid-template-columns:repeat(2,1fr)}.pagehead{align-items:start}}@media(max-width:620px){.shell{display:block}.sidebar{padding:14px 16px;gap:14px;border-right:0;border-bottom:1px solid #dce0e6}.nav{flex-direction:row;flex-wrap:wrap;gap:3px}.nav button{padding:7px 9px;font-size:.875rem}.identity{margin:0;padding:0;border:0;position:absolute;top:14px;right:16px}.identity .identitytext{display:none}.brand{padding-right:60px}.main{padding:20px 16px}.pagehead{flex-direction:column;gap:12px}.metrics{gap:10px}.metric{padding:14px}.toolbar{gap:9px}.toolbar input[type=search]{max-width:none}.toolbar select{flex:1;max-width:none}.viewtoggle{margin-left:0}.formrow{grid-template-columns:1fr}.detailmeta{grid-template-columns:1fr 1fr}.activity{grid-template-columns:32px minmax(0,1fr)}.activity time{grid-column:2}.modalhead,.modalbody{padding:18px}.loginbox{padding:25px}.column{min-width:230px}}
:root{--communication-accent:#275c54;}
.communication-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;}
.communication-tabs span{opacity:.65;margin-left:5px;}
.communication-list{display:grid;gap:12px;max-width:1000px;}
.communication-card{background:#fff;text-align:left;border:1px solid #dbe3df;border-radius:15px;padding:20px;cursor:pointer;color:inherit;font:inherit;}
.communication-card.unread{border-left:4px solid var(--communication-accent);}
.communication-card:hover{border-color:var(--communication-accent);}
.communication-card-top{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;}
.communication-card-top strong{font-size:17px;}
.communication-status{color:#275c54;background:#edf5f1;border-radius:20px;padding:4px 10px;font-size:13px;display:inline-block;}
.communication-route{color:#626e68;margin-top:10px;line-height:1.6;}
.communication-card-bottom{display:flex;justify-content:space-between;color:#758178;font-size:12px;margin-top:16px;}
.communication-card-bottom span{color:#275c54;}
.communication-history{list-style:none;padding:0;margin:24px 0;}
.communication-history li{border-left:2px solid #dbe3df;padding:0 0 20px 18px;}
.communication-history time{font-size:12px;color:#758178;}
.communication-history p{background:#f4f7f5;padding:14px;border-radius:10px;margin:9px 0 0;}
.communication-file{display:block;padding:8px 0;}
details summary{cursor:pointer;padding:12px 0;color:#426359;}
#communication-unread:empty{display:none;}
@media(max-width:600px){.communication-card-top{display:block;}.communication-card-top strong{display:block;margin-bottom:10px;}.communication-tabs .btn{font-size:13px;padding:9px;}}

.password-control{position:relative;display:block!important;min-width:0}.password-control input{width:100%;box-sizing:border-box;padding-right:100px}.password-toggle{position:absolute;right:5px;top:5px;bottom:5px;border:0;border-radius:6px;padding:0 10px;color:#115e59;background:#edf5f1;font:inherit;font-size:.8rem;cursor:pointer}.password-toggle:focus-visible{outline:2px solid #0f766e;outline-offset:1px}
