*{box-sizing:border-box} :root{--navy:#101c32;--navy2:#1a2b47;--gold:#e7b844;--ink:#1a2940;--muted:#6e7d92;--line:#e2e7ee;--paper:#f4f6f9;--white:#fff;--green:#20875d;--red:#c84949;--blue:#3264c8;--purple:#875ac3;--shadow:0 9px 26px #1729450b;--radius:15px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,"Noto Sans JP",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d49c28;outline-offset:2px}.hidden{display:none!important}.muted{color:var(--muted)}h1,h2,p{margin-top:0}h1{font-size:25px;letter-spacing:-.025em;margin:0;color:#192940}h2{font-size:14px;margin:0;font-weight:750;color:#23334b}.brand{display:flex;align-items:center;gap:11px}.brandmark{display:grid;place-items:center;width:35px;height:35px;background:var(--gold);color:#192943;border-radius:11px;font-weight:900;font-size:20px}.brandtext{color:white;font-weight:800;letter-spacing:.03em;font-size:15px}.brandtext small{display:block;color:#a3b1c4;font-weight:500;font-size:9px;letter-spacing:.15em}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(ellipse at 14% 18%,#f6e8c4 0,transparent 24%),radial-gradient(ellipse at 90% 95%,#dce5f2 0,transparent 30%),var(--paper)}.login-card{width:min(430px,100%);background:white;border:1px solid var(--line);box-shadow:0 18px 50px #13274316;border-radius:20px;padding:30px}.login-card .brand{background:var(--navy);border-radius:13px;padding:14px;margin-bottom:28px}.eyebrow{color:#7a8799;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.login-card h1{font-size:22px;margin:0 0 6px}.login-card .muted{font-size:12px;line-height:1.6;margin-bottom:23px}.login-card label{display:block;margin:13px 0 6px;color:#44546a;font-size:11px;font-weight:750}.login-card input{width:100%;height:42px;border:1px solid #dce2ea;border-radius:9px;padding:0 11px}.full{width:100%;margin-top:20px}.linkbtn{margin-top:14px;background:none;border:0;color:#52647d;font-size:11px}.error{min-height:16px;color:#b43333;font-size:11px;margin-top:9px}.login-note{position:fixed;bottom:15px;font-size:10px;color:#6c7c91;text-align:center;max-width:450px}.app{min-height:100vh;display:flex}.sidebar{width:228px;flex:0 0 228px;background:var(--navy);color:#dfe8f4;padding:20px 13px;display:flex;flex-direction:column}.sidebar .brand{padding:4px 7px 27px}.navlabel{font-size:9px;letter-spacing:.14em;font-weight:800;color:#8191aa;padding:10px 11px 7px}.navitem{width:100%;display:flex;align-items:center;gap:11px;text-align:left;border:0;background:transparent;color:#bfcbdb;border-radius:9px;padding:11px;margin:2px 0;font-size:12px}.navitem span{font-size:16px;width:18px;text-align:center}.navitem b{font-weight:600}.navitem:hover,.navitem.active{background:#203450;color:white}.navitem.active{box-shadow:inset 3px 0 var(--gold)}.sitesLabel{margin-top:16px}.site-nav{overflow:auto}.sitelink{width:100%;text-align:left;border:0;background:transparent;color:#c2cee0;padding:9px 11px;border-radius:8px;font-size:11px}.sitelink.active,.sitelink:hover{background:#203450;color:white}.sidebottom{margin-top:auto;padding:15px 10px 3px;border-top:1px solid #2c3e59;color:#d6dfeb;font-size:10px}.sidebottom small{display:block;color:#8d9db3;margin-top:4px}.main{min-width:0;flex:1}.topbar{height:65px;padding:0 28px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.crumb{font-size:12px;color:#728199;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb i{font-style:normal;margin:0 8px;color:#b3bdc9}.crumb b{color:#2a3b54}.topactions{display:flex;align-items:center;gap:10px}.sync{display:flex;align-items:center;gap:6px;color:#4a7e63;font-size:10px;font-weight:700}.sync i,.live i{width:7px;height:7px;border-radius:50%;background:#31a56e;display:inline-block}.sync.off{color:#9b6d32}.sync.off i{background:#d39a32}.lang,.iconbutton{height:34px;background:#fff;border:1px solid var(--line);border-radius:8px;color:#41536b;padding:0 10px;font-size:11px;font-weight:750}.iconbutton{width:35px;position:relative;font-size:15px;padding:0}.badge{position:absolute;top:-6px;right:-5px;background:#c84646;color:white;border-radius:20px;min-width:16px;padding:1px 4px;font-size:9px}.avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#dbe6f4;color:#315883;font-size:10px;font-weight:800}.plain{border:0;background:none;color:#66768d;font-size:10px}.content{max-width:1480px;margin:0 auto;padding:25px 28px 32px}.pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:17px}.pagehead h1{margin-bottom:4px}.pagehead .muted{font-size:12px;margin:0}.headtools{display:flex;align-items:center;gap:8px}.headtools select{max-width:270px;min-width:190px}.select,select,input,textarea{border:1px solid #dfe4eb;border-radius:8px;background:#fff;color:#2d3e56}.select,.headtools select{height:37px;padding:0 31px 0 10px;font-size:11px}.primary,.outline{height:37px;border:1px solid var(--line);border-radius:8px;padding:0 12px;font-size:11px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.primary{background:var(--navy);border-color:var(--navy);color:white}.primary:hover{background:#203653}.primary.small,.outline.small{height:31px;padding:0 9px;font-size:10px}.outline{background:white;color:#344760}.outline:hover{border-color:#a9b5c4;background:#fbfcfe}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:12px 15px;box-shadow:0 2px 8px #25395305;display:grid;grid-template-columns:1fr auto;align-items:center}.stat small{font-size:10px;color:#718096;font-weight:700}.stat b{grid-column:1;font-size:22px;line-height:1.2;margin-top:5px}.stat span{grid-column:1;font-size:9px;color:#8a97a7}.stat:after{content:'✓';grid-column:2;grid-row:1/4;align-self:center;background:#f0f3f8;border-radius:9px;padding:7px;color:#526781;font-size:13px}.stat:nth-child(2):after{content:'◷'}.stat:nth-child(3):after{content:'♙'}.alertstat:after{content:'!';color:#b86a32;background:#fff4e9}.columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.82fr);gap:14px;align-items:start}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.cardhead{padding:15px 17px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.cardhead .muted{font-size:10px;margin:4px 0 0}.live{color:#568268;background:#edf8f1;border-radius:20px;padding:5px 8px;font-size:9px;font-weight:750;white-space:nowrap}.live i{width:6px;height:6px;margin-right:4px}.plantabs{display:flex;gap:5px;padding:0 16px 10px;border-bottom:1px solid #edf0f4;overflow:auto}.plantab{border:1px solid transparent;background:transparent;border-radius:7px;padding:7px 9px;font-size:10px;color:#77869b;white-space:nowrap}.plantab.active{background:#edf2f8;border-color:#e1e7ef;color:#253952;font-weight:750}.planstage{position:relative;width:min(100%,690px);aspect-ratio:650/645;margin:13px auto 10px;background:#fcfdfe;border:1px solid #edf0f3;border-radius:8px;overflow:hidden}.planstage img{width:100%;height:100%;object-fit:contain;display:block}.pin{position:absolute;transform:translate(-50%,-50%);width:31px;height:31px;border-radius:50%;border:2px solid white;box-shadow:0 2px 8px #0e1e38a6;color:white;font-size:10px;font-weight:800;display:grid;place-items:center;cursor:pointer;z-index:2}.pin:hover{outline:2px solid #243b5e;outline-offset:2px}.planstage.placing{outline:2px solid var(--gold);outline-offset:2px;cursor:crosshair}.markhint{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);background:#14243ddd;color:white;padding:6px 11px;border-radius:20px;font-size:10px;white-space:nowrap}.empty{padding:30px;text-align:center;color:#64748a}.empty span{display:block;font-size:28px;color:#a7b2c0}.empty b,.empty small{display:block}.empty b{font-size:12px}.empty small{font-size:10px;margin-top:5px}.mapfoot{border-top:1px solid #edf0f4;padding:10px 15px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px}.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:9px;color:#637289}.legend span{display:inline-flex;align-items:center;gap:5px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.rightcol{display:flex;flex-direction:column;gap:13px}.activitylist,.deadlinelist{padding:1px 15px 6px}.activity{display:flex;gap:9px;padding:11px 0;border-bottom:1px solid #eff1f4}.activity:last-child{border:0}.person{width:27px;height:27px;flex:0 0 27px;border-radius:50%;color:white;display:grid;place-items:center;font-size:8px;font-weight:800}.actbody{min-width:0;flex:1}.acttop{display:flex;justify-content:space-between;gap:6px}.actname{font-size:10px;font-weight:750;color:#2e3f57}.acttime{font-size:8px;color:#94a0af;white-space:nowrap}.acttext{font-size:9px;color:#66758a;margin-top:3px;line-height:1.5;word-break:break-word}.tag{display:inline-flex;border-radius:5px;padding:3px 6px;margin-top:5px;font-size:8px;font-weight:750}.tag.done{color:#278158;background:#eaf7f0}.tag.progress{color:#4b6eaf;background:#edf2ff}.tag.issue{color:#b74843;background:#fff0ef}.deadline{display:flex;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #eff1f4}.deadline:last-child{border:0}.datebox{width:38px;height:39px;flex:0 0 38px;background:#f1f4f8;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#596c83}.datebox.today{background:#fff0e8;color:#b85f31}.datebox b{font-size:12px;line-height:1}.datebox small{font-size:8px}.deadlinecopy{min-width:0;flex:1}.deadlinecopy b{font-size:9px;display:block;color:#33445a}.deadlinecopy span{font-size:8px;color:#8995a5;display:block;margin-top:3px}.duedate{font-size:8px;font-weight:750;color:#bb6735;white-space:nowrap}.completecheck{border:1px solid #dce3eb;background:#fff;color:#61738b;width:22px;height:22px;border-radius:6px}.timeline-card,.admin-card{margin-top:14px}.timelinelist{padding:0 17px 6px}.eventrow{display:grid;grid-template-columns:70px 28px 1fr;gap:8px;align-items:start;padding:11px 0;border-bottom:1px solid #eff1f4}.eventrow:last-child{border:0}.eventtime{font-size:8px;color:#8b98a9;padding-top:3px}.eventcontent b{font-size:10px;color:#33445b}.eventcontent p{font-size:9px;color:#6c7b90;margin:3px 0 0}.eventcontent img{width:88px;height:58px;object-fit:cover;border-radius:6px;margin-top:6px}.assignlist{padding:0 16px 9px}.assignrow{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #eff1f4}.assignrow:last-child{border:0}.assignrow .assignname{flex:1;font-size:10px;font-weight:700}.assignrow input{accent-color:#183355}.assignrow small{font-size:9px;color:#8491a2}.admin-card .cardhead{align-items:center}footer{font-size:9px;color:#8794a5;text-align:center;padding:20px 0}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#15243c;color:white;padding:10px 14px;border-radius:9px;box-shadow:0 7px 20px #10203b35;font-size:11px;z-index:60;transition:.2s;max-width:90vw}.toast.show{opacity:1;transform:translate(-50%,0)}.backdrop{position:fixed;inset:0;background:#0b1830a3;z-index:50;display:grid;place-items:center;padding:16px}.modal{width:min(500px,100%);max-height:90vh;overflow:auto;background:white;border-radius:16px;box-shadow:0 20px 70px #0c19344f}.modalhead{position:sticky;top:0;z-index:2;background:white;border-bottom:1px solid var(--line);padding:16px 19px;display:flex;justify-content:space-between;align-items:flex-start}.modalhead h2{font-size:15px}.modalhead .muted{font-size:10px;margin:4px 0 0}.close{width:28px;height:28px;border:0;border-radius:7px;background:#f0f3f7;color:#53657c;font-size:18px}.form{padding:16px 19px}.form label{display:block;color:#4d5e75;font-size:10px;font-weight:750;margin:0 0 5px}.form input,.form select,.form textarea{width:100%;padding:9px 10px;font-size:11px;margin-bottom:12px}.form textarea{min-height:76px;resize:vertical}.form .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form small{display:block;font-size:9px;color:#8190a3;margin-top:-6px;margin-bottom:12px}.formactions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.inlinehint{font-size:9px;color:#8a96a6;background:#f5f7fa;padding:9px;border-radius:7px;margin-bottom:12px}.statuschoices{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.statuschoice{position:relative}.statuschoice input{position:absolute;opacity:0;width:0;height:0}.statuschoice span{display:block;border:1px solid #dfe4eb;border-radius:7px;padding:7px 9px;font-size:10px;cursor:pointer}.statuschoice input:checked+span{border-color:#243d60;background:#eff3f8;color:#203853;font-weight:750}.member-color{width:15px;height:15px;border-radius:50%;display:inline-block;vertical-align:middle;margin-right:5px}.emptyline{font-size:10px;color:#8592a3;padding:15px 0}.fatal{padding:12px;background:#fff0ef;color:#a43d37;border-radius:8px;font-size:11px}
@media(max-width:1050px){.sidebar{width:190px;flex-basis:190px}.content{padding:22px 18px}.topbar{padding:0 18px}.columns{grid-template-columns:minmax(0,1.35fr) minmax(260px,.85fr)}}
@media(max-width:760px){.sidebar{width:60px;flex-basis:60px;padding:15px 7px}.sidebar .brand{padding:3px 4px 20px;justify-content:center}.brandtext,.navlabel,.navitem b,.sidebottom,.sitelink{display:none}.navitem{justify-content:center;padding:11px 0}.navitem span{font-size:18px}.site-nav{height:5px}.columns{grid-template-columns:1fr}.rightcol{display:grid;grid-template-columns:1fr 1fr;align-items:start}.content{padding:18px 14px}.topbar{height:58px;padding:0 12px}.sync{display:none}.pagehead{display:block}.headtools{margin-top:12px;flex-wrap:wrap}.headtools select{flex:1;min-width:0;max-width:100%}.stats{gap:8px}.stat{padding:10px 11px}.planstage{margin:10px auto}.rightcol .cardhead{padding:13px}.activitylist,.deadlinelist{padding-left:12px;padding-right:12px}}
@media(max-width:520px){.rightcol{display:flex}.content{padding:16px 10px}.topactions{gap:6px}.plain{font-size:9px}.crumb{max-width:130px}.headtools .admin-only{flex:1}.stats{grid-template-columns:1fr 1fr}.stats .stat b{font-size:20px}.eventrow{grid-template-columns:55px 25px 1fr}.form .row{grid-template-columns:1fr}.cardhead{padding:13px}.legend{gap:7px}.planstage{width:100%}.pagehead h1{font-size:21px}}

.resetbtn{width:25px;height:25px;border:1px solid #e2e7ee;border-radius:6px;background:white;color:#596b82;font-size:15px}

.demo-banner{background:#fff4d6;color:#745619;border-bottom:1px solid #eed89f;padding:6px 15px;text-align:center;font-size:10px;font-weight:750}
