
:root{--blue:#2367e5;--dark:#153258;--soft:#edf5ff;--line:#dfe8f4;--muted:#6d7f9b;--bg:#f5f9ff;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--dark);font:14px/1.6 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:default}a{color:inherit}.app{display:grid;grid-template-columns:242px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:24px 15px;display:flex;flex-direction:column;gap:7px}.logo{display:flex;align-items:center;gap:10px;padding:0 8px 27px;text-decoration:none}.logo img{width:51px;height:51px;object-fit:contain}.logo strong{font-size:19px;display:block;letter-spacing:-.5px}.logo small{font-size:11px;color:var(--muted)}.navlabel{font-size:11px;font-weight:800;color:#97a8be;padding:15px 14px 6px;letter-spacing:.07em}.sidenav{display:grid;gap:3px}.sidenav button,.sidenav a{padding:11px 13px;min-height:44px;display:flex;align-items:center;gap:12px;text-decoration:none;border:0;border-radius:12px;background:transparent;color:#4b6282;font-weight:650;text-align:left;width:100%}.sidenav button span,.sidenav a span{font-size:20px;line-height:1;width:24px;display:inline-block;text-align:center}.sidenav button.active,.sidenav button:hover,.sidenav a:hover{color:#1e5fd2;background:#edf4ff}.sidenav b,.sidenav small{font-size:11px;margin-left:auto;font-weight:700;color:#7b91ae}.sidefoot{margin:auto 7px 0;padding:15px 8px;color:#536a87;background:#f5f9ff;font-size:11px;border-radius:10px}.sidefoot small{color:#9aabc0}.green-dot{width:7px;height:7px;background:#28ad8d;border-radius:50%;display:inline-block;margin-right:4px}.body{min-width:0}.topbar{height:74px;display:flex;justify-content:space-between;align-items:center;padding:0 32px;background:#fff;border-bottom:1px solid var(--line)}.crumb{color:#6e84a3;font-size:13px}.crumb span{margin:0 8px;color:#b0bcd0}.crumb b{color:#1e426e}.topright{display:flex;gap:9px}.smallbtn,.textbutton,.outlinefile{background:#fff;border:1px solid #d9e4f5;color:#315e9a;border-radius:11px;padding:9px 13px;min-height:39px;font-weight:750;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:5px}.smallbtn:hover,.outlinefile:hover{border-color:#91b5ed;background:#f4f8ff}.textbutton{border:0;color:var(--blue);padding:6px}.primary{border:1px solid var(--blue);background:var(--blue);color:#fff;padding:10px 18px;border-radius:11px;font-weight:800;min-height:42px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.primary:hover{background:#1655c5}.main{padding:32px 32px 64px;max-width:1500px;margin:0 auto}.tabpage[hidden]{display:none}.hero{background:linear-gradient(110deg,#deecff,#f7fbff 80%);padding:27px 32px;border-radius:23px;display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid #d6e7fc;min-height:208px;overflow:hidden}.hero h1{font-size:clamp(25px,3.5vw,38px);line-height:1.2;margin:7px 0 10px;letter-spacing:-1px}.hero p{color:#617b9b;max-width:620px;margin:0}.hero img{width:165px;height:156px;object-fit:contain;filter:drop-shadow(0 14px 18px #2d6ccc33)}.eyebrow{font-size:11px;letter-spacing:.1em;color:#3272c8;font-weight:900}.card{background:white;border:1px solid var(--line);border-radius:19px;padding:20px;min-width:0}.quickform{display:flex;gap:15px;align-items:center;margin-top:-16px;position:relative;box-shadow:0 12px 42px #265fc617}.qicon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#eaf3ff;color:#2572e8;font-size:23px;flex-shrink:0}.qfields{flex:1;min-width:0}.qfields label{display:block;font-size:13px;font-weight:850}.qfields input{border:0;padding:7px 0 3px;width:100%;outline:0;color:#264d7e;background:transparent}.qfields input:focus-visible{outline:2px solid #a1c7ff;border-radius:6px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:20px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 22px}.stat strong{font-size:26px;display:block;color:#163c73;line-height:1.2}.stat span{color:var(--muted);font-size:12px}.columns{display:grid;grid-template-columns:1.1fr .9fr;gap:17px}.secthead{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:14px}.secthead h2{font-size:18px;margin:0}.secthead p{margin:1px 0;color:var(--muted);font-size:12px}.stack{display:grid;gap:9px}.item{border:1px solid #e2ecf7;border-radius:12px;background:#fbfdff;padding:12px 14px;min-width:0}.item:focus-within{border-color:#91b9f0}.item strong{font-size:14px;display:block;overflow-wrap:anywhere}.item p{color:#647d9c;font-size:12px;margin:4px 0 0;overflow-wrap:anywhere}.itembottom{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.pill{border:1px solid #dce9fa;background:#f1f7ff;border-radius:100px;padding:3px 9px;color:#476d9d;font-size:11px;display:inline-block}.pill.done{border-color:#cae8d9;color:#238460;background:#f2fbf7}.pill.doing{border-color:#f5e2b5;color:#a46c0e;background:#fff9ed}.appgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.appsmall{background:#f9fbff;border:1px solid #e0eaf6;border-radius:13px;padding:11px;display:grid;gap:5px;min-width:0}.appsmall .avatar,.appcard .avatar{height:36px;width:36px;display:grid;place-items:center;border-radius:11px;color:#fff;font-size:15px;font-weight:900}.appsmall strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appsmall a{font-size:11px;color:#2367df;font-weight:800;text-decoration:none}.gapcard{margin-top:18px}.fileaction{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px dashed #c9dcf5;padding:15px;border-radius:14px;background:#fbfdff}.fileaction span{font-size:12px;color:#7a8eaa}.filelist{display:grid;gap:8px;margin-top:10px}.fileitem{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e9eff8;padding:12px 0;min-width:0}.fileitem:last-child{border:0}.fileicon{width:38px;height:38px;display:grid;place-items:center;background:#eef5ff;border-radius:9px;font-size:21px;flex-shrink:0}.fileinfo{flex:1;min-width:0}.fileinfo strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fileinfo small{display:block;color:#778ba7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filebtns{display:flex;gap:5px;flex-shrink:0}.iconbtn{background:#f3f7fd;border:1px solid #e1e9f4;border-radius:8px;padding:6px 9px;color:#2463ae;font-size:12px}.iconbtn.danger{color:#b84d4d}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:23px}.pagehead h1{font-size:clamp(25px,3vw,34px);margin:5px 0 4px;letter-spacing:-.7px}.pagehead p{margin:0;color:#6c7f9c}.toolbar{display:flex;gap:9px;margin:0 0 18px;flex-wrap:wrap}.toolbar input{flex:1;min-width:180px}.toolbar input,.toolbar select{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 13px;color:#43638b;max-width:100%}.tasklayout{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr);gap:16px}.taskdetail{position:sticky;top:14px;align-self:start}.taskdetail h2{margin:0;font-size:22px}.taskdetail textarea{width:100%;border:1px solid #dce7f6;border-radius:11px;min-height:105px;padding:12px;resize:vertical;background:#fbfdff;color:#2c4d75}.taskdetail label{display:block;color:#4b688c;font-size:12px;font-weight:800;margin:14px 0 6px}.taskdetail select{padding:9px;border-radius:9px;border:1px solid var(--line);background:#fff;max-width:100%}.taskselect{width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px;display:grid;gap:5px;color:var(--dark)}.taskselect.selected{border-color:#5b9cef;box-shadow:0 0 0 2px #e9f3ff}.taskselect strong{font-size:14px}.taskselect small{color:var(--muted)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row.end{justify-content:flex-end}.empty{padding:35px 16px;color:#8598b0;text-align:center;background:#f9fbff;border-radius:13px}.notice{border:1px solid #d5e6fc;background:#ecf5ff;border-radius:13px;color:#507198;font-size:12px;padding:13px 16px;margin-bottom:18px}.allapps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.appcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;min-width:0;display:grid;gap:11px}.appcard h3{margin:0;font-size:16px}.appcard p{margin:0;font-size:12px;color:var(--muted);min-height:36px}.apphead{display:flex;gap:11px;align-items:center}.appmeta{font-size:11px;color:#7890a9}.projectgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.projectcard{border:1px solid var(--line);background:white;border-radius:16px;padding:19px;min-width:0}.projectcard h3{font-size:16px;margin:7px 0}.projectcard p{color:#758ba5;font-size:12px;min-height:38px;overflow-wrap:anywhere}.smallmuted{font-size:12px;color:#8193aa}.filelabel{cursor:pointer}dialog{width:min(510px,calc(100vw - 28px));border:1px solid #d8e5f5;border-radius:20px;padding:24px;box-shadow:0 18px 70px #1228544f;color:var(--dark)}dialog::backdrop{background:#091b3d88;backdrop-filter:blur(3px)}dialog form{display:grid;gap:13px}dialog form label{display:grid;gap:6px;font-size:12px;color:#536b8b;font-weight:800}dialog form input,dialog form select,dialog form textarea{width:100%;border:1px solid #d7e3f3;border-radius:10px;padding:10px 12px;font-size:14px;color:#244c80;background:#fbfdff}.modalhead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.modalhead h2{margin:0;font-size:20px}.close{background:#f2f6fb;border:0;color:#6b809c;font-size:24px;width:32px;height:32px;border-radius:9px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:10px 17px;border-radius:12px;color:#fff;background:#15395d;box-shadow:0 10px 30px #18355944;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s;max-width:85vw}.toast.show{opacity:1}.mobilebar{display:none}.link{color:#2869d8;font-weight:800;text-decoration:none}.link:hover{text-decoration:underline}.dangerText{color:#b74949}.subcontrols{border-top:1px solid #edf1f7;margin-top:16px;padding-top:15px}.richtext{white-space:pre-wrap;overflow-wrap:anywhere}.split{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.tagline{font-size:11px;color:#6e8ab0}.noresults{font-size:12px;color:#8b9db3;padding:13px}.toolpill{border-radius:9px;border:1px solid #dce8fa;padding:7px 10px;color:#456a9b;background:#f6faff;font-size:12px}
@media(max-width:1150px){.app{grid-template-columns:208px minmax(0,1fr)}.main{padding:22px}.topbar{padding:0 22px}.allapps,.projectgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.appgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.sidebar{display:none}.app{display:block}.topbar{height:58px;padding:0 17px}.main{padding:16px 15px 96px}.mobilebar{position:fixed;z-index:30;bottom:0;left:0;right:0;height:66px;display:grid;grid-template-columns:repeat(5,1fr);background:#ffffffed;backdrop-filter:blur(14px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobilebar button{border:0;background:none;color:#8295ad;font-size:19px;display:grid;justify-items:center;align-content:center;gap:0}.mobilebar button.active{color:var(--blue);font-weight:900}.mobilebar button small{font-size:11px}.hero{padding:20px;min-height:170px}.hero img{width:115px;height:115px}.hero h1{font-size:27px}.columns,.tasklayout{grid-template-columns:1fr}.taskdetail{position:static}.appgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:540px){.topright{gap:5px}.smallbtn{padding:8px 9px;font-size:12px}.hero{min-height:158px;padding:18px 16px}.hero img{width:73px;height:96px;margin-right:-8px}.hero h1{font-size:24px}.hero p{font-size:12px}.quickform{gap:9px;padding:13px;margin-top:12px;box-shadow:none;flex-wrap:wrap}.quickform .primary{width:100%}.quickform .qfields{min-width:calc(100% - 60px)}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}.stat{padding:12px}.stat strong{font-size:23px}.card{padding:15px}.appgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.allapps,.projectgrid{grid-template-columns:1fr}.pagehead{align-items:flex-start;flex-direction:column;gap:12px}.pagehead h1{font-size:25px}.pagehead .primary{width:100%}.fileitem{gap:6px}.filebtns{gap:3px}.filebtns .iconbtn{font-size:11px;padding:6px}.fileinfo strong{font-size:12px}.fileinfo small{font-size:10px}.toolbar select{flex:1}.main{padding:14px 12px 85px}.secthead h2{font-size:16px}.secthead{align-items:center}dialog{padding:17px}.crumb{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.toast{transition:none}}

/* V6: compact, touch-friendly app organizer */
.launchinfo{padding:16px 18px;background:linear-gradient(115deg,#e5f0ff,#fdfefe);border:1px solid #cfe1fb;border-radius:17px;display:grid;gap:4px;margin-bottom:12px}.launchinfo strong{font-size:17px}.launchinfo span{color:#637c9c;font-size:12px}.launcher-actions{display:flex;gap:9px;margin:0 0 19px}.shelf-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.shelf-head h2{font-size:17px;margin:0 0 10px}.folderstrip{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}.folder-chip{display:inline-flex;align-items:center;gap:6px;padding:10px 13px;min-height:44px;background:#fff;border:1px solid #dbe7f6;border-radius:13px;color:#4d6a92;font-size:12px;font-weight:800}.folder-chip.active{background:#eaf3ff;border-color:#87b4f6;color:#1f5dbc}.folder-chip.drop-ready{border-color:#2569da;background:#d1e5ff;box-shadow:0 0 0 2px #96bdfd}.folder-chip .folder-count{color:#899eb8;font-size:10px}.launchertoolbar{display:flex;gap:10px;margin-bottom:12px}.launchertoolbar input{flex:1;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;min-width:0}.launchertoolbar select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px;min-width:105px}.launchergrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;min-height:170px}.launchapp{position:relative;min-width:0;border:1px solid transparent;border-radius:14px;padding:12px 4px 8px;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;background:transparent;touch-action:pan-y;user-select:none}.launchapp:hover,.launchapp:focus-within{background:#f0f6ff;border-color:#dfebff}.launchapp.isdragging{opacity:.4}.launchapp.drop-before{outline:2px dashed #2975ea;outline-offset:2px}.launchapp .launch-icon{touch-action:none;width:57px;height:57px;border-radius:17px;color:#fff;font-size:21px;display:grid;place-items:center;font-weight:900;box-shadow:0 6px 14px #214f9222}.launchapp .launch-title{font-weight:800;font-size:12px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.launchapp .launch-kind{font-size:10px;color:#8da0ba;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.launchapp .launch-buttons{display:flex;gap:5px;align-items:center;justify-content:center}.launchapp .launch-buttons a,.launchapp .launch-buttons button{font-size:11px;line-height:1.2;padding:5px 8px;border-radius:8px;text-decoration:none;background:#edf5ff;border:0;color:#2365c6;min-height:29px}.launchapp .launch-move{font-size:10px;border:1px solid #ddeafa;border-radius:8px;background:#fff;color:#607a9a;max-width:92px;padding:3px 4px}.launcherfooter{margin:9px 0 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#7189a5;font-size:12px}.guide{margin-top:13px}.guide summary{cursor:pointer;font-weight:800}.guide p{color:#7086a3;font-size:12px}.touch-ghost{position:fixed;pointer-events:none;z-index:1000;width:65px;height:77px;display:grid;place-items:center;text-align:center;border-radius:16px;background:#ecf5ff;border:2px solid #4f93f7;box-shadow:0 12px 30px #194c9250;color:#1f4a84;font-weight:900;font-size:11px}.touch-ghost .launch-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff}.shortcut-hint{font-size:11px;color:#8ca0ba}
@media(max-width:1150px){.launchergrid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:850px){.launchergrid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:540px){.launchergrid{grid-template-columns:repeat(4,minmax(0,1fr));padding:10px 5px;gap:2px}.launchapp{padding:10px 2px 8px}.launchapp .launch-icon{width:51px;height:51px;border-radius:15px}.launchapp .launch-title{font-size:11px}.launchapp .launch-kind{font-size:9px}.launcher-actions .primary,.launcher-actions .smallbtn{flex:1}.launchapp .launch-buttons a,.launchapp .launch-buttons button{padding:5px 6px;font-size:10px}.launchapp .launch-move{max-width:74px}.folderstrip{gap:6px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.folder-chip{flex-shrink:0;padding:9px 10px}.launcherfooter{flex-direction:column;align-items:flex-start}.launchertoolbar select{min-width:105px}}

@media(max-width:540px){.launchapp .launch-buttons{gap:2px}.launchapp .launch-buttons a,.launchapp .launch-buttons button{padding:5px 5px;min-width:21px}.launchapp .launch-move{max-width:78px}.launchapp{min-width:0;overflow:hidden}}
