:root{--green:#265e4c;--ink:#293e39;--muted:#85928a;--line:#e1e7df;--paper:#f6f7f3}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px Arial,'Malgun Gothic',sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid #dbe3d6;background:white;border-radius:6px;padding:10px 14px}button:hover{background:#edf3e9}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#194735}aside{position:fixed;inset:0 auto 0 0;width:236px;background:#fff;border-right:1px solid var(--line);padding:28px 19px;overflow:auto}.brand{display:flex;gap:15px;align-items:center;margin:6px 8px 34px}.brand b{font-size:32px;color:var(--green)}.brand span{font-weight:bold;letter-spacing:1px}.brand small{display:block;font-size:8px;margin-top:8px;letter-spacing:3px}.workspace,.local{background:#f3f5ef;border:1px solid var(--line);border-radius:8px;padding:18px 12px;font-weight:600}.workspace small{display:block;margin:8px 0 0 25px;color:var(--muted);font-size:10px}aside label{display:block;font-size:10px;letter-spacing:2px;color:var(--muted);margin:30px 10px 12px}nav button,#sideProjects button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:12px;margin:2px 0;font-size:13px}nav button.active{background:#e8f1e8;color:var(--green);font-weight:bold}.local{margin-top:32px;line-height:1.8;font-size:12px}.local small{font-weight:normal;color:#71806c}.shell{margin-left:236px}header{background:var(--green);color:#e1eadd;padding:17px 34px;font-size:11px;letter-spacing:1px}header span{float:right}main{padding:35px;max-width:1800px;margin:auto}.eyebrow{font-size:9px;letter-spacing:2px;color:#839382}.heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:15px 0 22px}h1{font-size:29px;margin:0}h2{font-size:20px}h3{font-size:15px}p{color:var(--muted);line-height:1.7}small{color:var(--muted)}.actions{display:flex;gap:8px}.notice{background:#eef3e6;border:1px solid #dde6cc;padding:12px 16px;border-radius:7px;font-size:12px;line-height:1.8}.notice button{padding:3px 8px;margin-left:8px;font-size:11px}#stats{display:grid;grid-template-columns:repeat(4,1fr);margin:22px 0;background:white;border:1px solid var(--line);border-radius:8px}.stat{padding:22px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat b{display:block;font-size:29px;margin-top:12px}.stat small{font-size:11px}#alert{color:#8a683e;font-size:13px;margin:16px 0}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:22px 0 16px}.toolbar strong{margin-right:auto}input,select,textarea{border:1px solid #d9e1d7;border-radius:5px;background:#fff;padding:10px;max-width:100%}input:focus,textarea:focus{outline:2px solid #9bc1aa}#content{min-height:350px}.panel{background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:18px;overflow:hidden}.panel>h3{padding:17px 22px;margin:0;background:#fbfcf9;border-bottom:1px solid var(--line)}.row{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row input{accent-color:#63855d;width:17px;height:17px;flex-shrink:0}.row .title{border:0;padding:0;background:transparent;text-align:left;flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.6}.row .title small{display:block;margin-top:5px;font-size:11px}.done .title>span{text-decoration:line-through;color:#99a591}.badge{font-size:10px;border-radius:4px;padding:4px 7px;background:#f1eee3;color:#9b713d}.empty{padding:45px;text-align:center;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.card{padding:22px;background:white;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--line);gap:1px;border:1px solid var(--line)}.day{background:white;min-height:108px;border:0;border-radius:0;text-align:left;padding:12px 8px;display:flex;flex-direction:column;gap:12px}.day.today{background:#edf4e9;box-shadow:inset 0 0 0 2px #6d9467}.weekday{text-align:center;padding:12px;background:#f1f4ed}.day small{font-size:11px}.monthbar{display:flex;align-items:center;gap:15px;margin-bottom:18px}.monthbar h2{margin-right:auto}footer{text-align:center;margin:35px 0;color:var(--muted);font-size:10px}dialog{border:1px solid var(--line);border-radius:12px;width:620px;max-width:calc(100vw - 28px);max-height:90vh;padding:30px;color:var(--ink)}dialog::backdrop{background:#1e3a2d55;backdrop-filter:blur(4px)}.close{position:absolute;right:12px;top:10px;border:0;font-size:23px;padding:2px 8px}form{display:grid;gap:14px}form label{display:grid;gap:6px;font-size:12px}form textarea{min-height:100px;resize:vertical}form .twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.formActions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.danger{color:#a34436}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 Arial,sans-serif}.logs{max-height:220px;overflow:auto;background:#f8f9f5;padding:12px}.error{color:#ac4438;white-space:pre-wrap;font-size:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#253e34;color:white;padding:12px 24px;border-radius:7px;display:none;z-index:10}.fileline{display:flex;gap:10px;align-items:center;padding:12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.fileline span{flex:1;overflow-wrap:anywhere}.notepad{width:100%;min-height:400px;line-height:1.8}.history{padding:16px 22px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.history small{display:block;margin-bottom:6px}@media(max-width:900px){aside{width:190px;padding:20px 10px}.shell{margin-left:190px}main{padding:22px}.heading{align-items:flex-start;flex-direction:column}#stats{grid-template-columns:repeat(2,1fr)}.stat{border-bottom:1px solid var(--line)}}@media(max-width:600px){aside{position:static;width:auto;padding:14px}.brand{margin:0 0 12px}.workspace,aside>label,#sideProjects,.local{display:none}nav{display:flex;overflow:auto;gap:5px}nav button{width:auto;white-space:nowrap;padding:9px}.shell{margin:0}header{padding:12px 18px}header span{display:none}main{padding:20px 14px}.heading p{font-size:12px}h1{font-size:25px}.toolbar input{width:100%}.toolbar select{flex:1;min-width:0;font-size:11px}.stat{padding:16px}.row{padding:15px 12px;gap:10px}.day{min-height:85px;padding:10px 4px}.day small{font-size:9px}.notice button{margin:4px 3px 0 0}form .twocol{grid-template-columns:1fr}.actions button{font-size:12px}dialog{padding:25px 18px}}

#syncSettings {max-width:600px;width:90vw} #syncSettings input,#syncSettings select {width:100%} #syncDetail {display:block;overflow-wrap:anywhere} header {flex-wrap:wrap} #syncStatus {white-space:nowrap}
