:root{--green:#187c65;--mint:#e8f3ee;--ink:#263c35;--muted:#84918b;--line:#e8ece9;--bg:#f7f9f7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Noto Sans KR',sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #8bceba;outline-offset:3px}a{color:var(--green);text-decoration:none}button{border:0;background:none}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.sidebar{width:244px;background:white;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;padding:37px 22px 18px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:11px;align-items:center;color:var(--ink);font-size:27px;font-weight:800;padding:0 13px}.brandmark{background:var(--green);border-radius:14px;color:white;display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;font:italic 42px Georgia;letter-spacing:-5px;padding-right:8px}.brandmark span{color:#b8db93;font-size:37px}.brand small{font-size:8px;display:block;letter-spacing:1.15px;font-weight:500;color:#7c8d84;margin-top:3px}.workspace{margin:34px 2px 29px;background:#f7f9f7;border:1px solid var(--line);border-radius:8px;padding:12px;font-size:12px}.workspace span{float:right}.nav-label{font-size:9px;letter-spacing:1.7px;color:#9aa79f;margin:0 16px 13px}nav{display:grid;gap:6px}nav button{height:47px;display:flex;align-items:center;gap:13px;padding:0 16px;border-radius:8px;text-align:left;color:#74837a;font-weight:500}nav button.active{background:var(--mint);color:var(--green);font-weight:700}nav button:hover{background:#f1f6f2}nav button span{margin-left:auto;background:#fff;border-radius:5px;padding:1px 6px;font-size:10px}nav button span:empty{display:none}.sidebar-bottom{margin-top:auto}.quiet-card{padding:20px 17px;background:#f3f6ed;border-radius:10px;margin:25px 4px;color:#657d53}.quiet-card>span{font-size:12px;font-weight:600}.quiet-card p{font-size:12px;line-height:1.9;margin-bottom:0}.settings-btn{font-size:12px;color:#7f8b83;padding:10px;display:flex;gap:10px;align-items:center}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:17px;padding:20px 6px 0}.avatar{width:36px;height:36px;border-radius:50%;background:#e7eee6;color:#60765a;display:grid;place-items:center;font-size:12px}.profile b{font-size:11px}.profile small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.online{width:6px;height:6px;border-radius:50%;background:#5fa787;margin-left:auto}.shell{margin-left:244px}header{height:77px;background:#ffffffd9;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 39px}.breadcrumb{font-size:11px;color:#8a978f}.breadcrumb span{margin:0 13px;color:#ccd3cc}.breadcrumb b{font-weight:500;color:#52635a}.header-right{display:flex;gap:20px;align-items:center;font-size:11px;color:#859087}.private-pill{background:#f2f6f2;border-radius:20px;padding:6px 10px;color:#64816d}main{max-width:1500px;margin:auto;padding:36px 39px 28px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:15px}.eyebrow{font-size:10px;color:#799387;letter-spacing:2px;margin-bottom:9px}h1{font-size:26px;letter-spacing:-1.2px;margin:0 0 9px;font-weight:700}h1 em{font-style:normal;color:var(--green)}.subtitle{margin:0;color:#8b978f;font-size:12px}.btn{border-radius:7px;padding:10px 15px;font-size:12px;display:inline-flex;align-items:center;gap:8px;justify-content:center;white-space:nowrap;background:white;border:1px solid #dfe6df}.btn.primary{background:var(--green);color:white;border-color:var(--green)}.btn.primary:hover{background:#12634f}.btn.danger{color:#b44d49}.btn svg{width:15px;height:15px}.btn.sm{padding:7px 10px;font-size:11px}.hero{position:relative;background:#eaf2e9;border:1px solid #dde8db;border-radius:12px;min-height:163px;padding:26px 30px;overflow:hidden;display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.hero small{color:#6b8b6e;font-size:10px;letter-spacing:1.4px}.hero h2{font-size:22px;letter-spacing:-.9px;margin:10px 0}.hero p{color:#7c8e7b;font-size:12px;margin:0}.hero-art{width:190px;height:115px;position:relative;margin-right:20px}.sun{width:55px;height:55px;border-radius:50%;background:#e1cd82;position:absolute;right:22px;top:3px}.hill{position:absolute;bottom:-48px;width:190px;height:100px;border-radius:100% 100% 0 0;background:#c4d6b5;transform:rotate(-10deg)}.hill.two{right:-50px;bottom:-55px;background:#adc6a4;transform:rotate(20deg)}.plant{position:absolute;bottom:0;left:28px;width:2px;height:83px;background:#6f9477;transform:rotate(-12deg)}.leaf{position:absolute;left:-25px;top:20px;width:26px;height:12px;border-radius:0 90% 0 90%;background:#83a589;transform:rotate(20deg)}.leaf:nth-child(2){left:0;top:38px;transform:rotate(-25deg)}.leaf:nth-child(3){top:55px;left:-25px}.hero-note{position:absolute;right:20px;bottom:13px;font-size:9px;color:#8aa085;letter-spacing:1px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:26px}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:18px 20px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#86928a;font-size:11px}.stat-icon{width:30px;height:30px;border-radius:8px;background:#eaf4ee;color:#5b997b;display:grid;place-items:center}.stat-icon svg{width:16px;height:16px}.stat:nth-child(2) .stat-icon{background:#eff0fc;color:#9192bc}.stat:nth-child(3) .stat-icon{background:#fff4e3;color:#c5a168}.stat:nth-child(4) .stat-icon{background:#ecf2fa;color:#7c9bbd}.stat-num{font-size:29px;font-weight:600;letter-spacing:-1px;margin:9px 0 6px}.stat-num small{font-size:12px;margin-left:5px;font-weight:400;color:#8c9990}.stat-foot{font-size:10px;color:#9aa49c}.stat-foot b{font-weight:500;color:#6c9c80}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:22px}.panel{border:1px solid var(--line);border-radius:11px;background:white;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px 23px 15px;gap:12px}.panel-head h2{font-size:14px;margin:0;display:flex;align-items:center;gap:9px}.count{background:#eef4ee;color:#75967c;border-radius:5px;padding:2px 6px;font-size:10px}.text-link{font-size:10px;color:#94a096;cursor:pointer}.panel-content{padding:0 23px 21px}.day-label{color:#8b978d;font-size:10px;padding-bottom:15px;border-bottom:1px solid var(--line)}.event-row{display:flex;gap:17px;padding:17px 0;position:relative;cursor:pointer}.event-row+.event-row{border-top:1px solid #f0f2ef}.event-time{font-size:11px;color:#7e8c82;width:44px;flex-shrink:0;line-height:1.8}.event-info{border-left:3px solid var(--cat,#9ebfa8);padding-left:13px;flex:1;min-width:0}.event-info b{font-size:12px;font-weight:500}.event-info p{font-size:10px;color:#99a297;margin:6px 0 0}.badge{display:inline-block;font-size:9px;padding:3px 7px;border-radius:4px;background:color-mix(in srgb,var(--cat,#8aac96) 13%,white);color:var(--cat,#658a70);white-space:nowrap}.event-row .badge{align-self:start}.task-row{display:flex;align-items:center;gap:11px;padding:14px 0;border-bottom:1px solid #f0f2ef}.task-row:last-child{border:0}input[type=checkbox]{accent-color:var(--green);width:17px;height:17px;cursor:pointer;flex-shrink:0}.task-name{flex:1;min-width:0;font-size:12px;cursor:pointer}.task-name small{display:block;font-size:10px;color:#97a097;margin-top:5px}.done .task-name>span{text-decoration:line-through;color:#a8b0a8}.task-row .deadline{font-size:10px;color:#93a08f}.overdue{color:#c66c61!important}.progress-meta{font-size:10px;color:#8a978d;display:flex;justify-content:space-between;padding:12px 0 8px}.progress-track{height:5px;border-radius:5px;background:#edf2ed;overflow:hidden}.progress-track>span{display:block;height:100%;background:#77ab8a;border-radius:5px}.mini-calendar{padding:0 22px 17px}.month-title{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin:5px 0 15px}.icon-btn{padding:4px 8px;border-radius:5px;color:#8b978d;font-size:20px}.icon-btn:hover{background:#edf3ef}.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:4px}.mini-grid>span{font-size:9px;color:#a2aaa3;padding:5px}.mini-grid button{height:29px;position:relative;font-size:10px;border-radius:6px}.mini-grid button.today{background:var(--green);color:white}.mini-grid button.has-event:after{content:'';position:absolute;bottom:2px;left:calc(50% - 2px);width:3px;height:3px;border-radius:50%;background:#95b69d}.mini-grid .sun-day{color:#ca7a71}.mini-grid .outside{color:#c8cfc8}.mini-grid button:hover{background:#e6f1e8}.meeting-row{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #f0f2ef;cursor:pointer}.meeting-symbol{background:#f0f3ef;color:#8b9e8d;padding:8px;border-radius:8px}.meeting-symbol svg{width:16px}.meeting-row b{font-size:11px;font-weight:500}.meeting-row p{font-size:9px;color:#98a196;margin:5px 0 0}.meeting-row .badge{margin-left:auto}.stack{display:grid;gap:22px;align-content:start}.empty{text-align:center;padding:26px 14px;color:#97a296;font-size:12px;line-height:1.9}.empty-symbol{font-size:26px;color:#b7c9b9;display:block;margin-bottom:8px}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{font-size:11px;padding:8px 13px;border:1px solid var(--line);border-radius:6px;background:white;color:#8b958b}.filter.active{background:var(--green);color:white;border-color:var(--green)}.search{margin-left:auto;max-width:230px;padding:9px 12px;border:1px solid var(--line);border-radius:7px;background:white;font-size:11px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:20px}.calendar-top{padding:20px 23px;display:flex;align-items:center;justify-content:space-between}.calendar-top h2{font-size:18px;margin:0}.calendar-controls{display:flex;gap:5px;align-items:center}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-week div{padding:11px;text-align:center;font-size:10px;color:#94a094}.calendar-week div:first-child{color:#c6756d}.calendar-week div:last-child{color:#7b98bb}.day-cell{min-height:106px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:8px;cursor:pointer;outline-offset:-3px}.day-cell:nth-child(7n){border-right:0}.day-cell:hover{background:#f5f9f5}.day-cell.selected{background:#eff6ef;box-shadow:inset 0 0 0 1px #a4c5ad}.day-cell.outside{background:#fafbfa;opacity:.45}.day-number{font-size:11px;display:inline-grid;place-items:center;width:23px;height:23px}.day-number.today{background:var(--green);color:white;border-radius:50%}.day-cell.sunday .day-number,.day-cell.holiday .day-number{color:#c77d70}.day-cell.saturday .day-number{color:#7194ba}.day-number.today{color:white!important}.lunar{font-size:8px;color:#888;float:right;line-height:23px}.holiday-name{font-size:8px;color:#c17f71;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:2px 0}.cal-event{display:block;width:100%;font-size:9px;text-align:left;background:color-mix(in srgb,var(--cat) 12%,white);color:var(--cat);border-left:2px solid var(--cat);border-radius:2px;padding:3px 4px;margin-top:3px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.calendar-note{font-size:10px;color:#98a194;padding:13px 18px}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:0 23px}.tab{padding:17px 0;color:#99a295;font-size:12px;border-bottom:2px solid transparent}.tab.active{color:var(--green);border-color:var(--green);font-weight:600}.task-table{padding:0 23px}.task-table .task-row{padding:19px 0}.meeting-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.meeting-card{padding:23px;cursor:pointer;transition:transform .2s}.meeting-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #244c3510}.meeting-card .meeting-symbol{display:inline-flex;margin-bottom:20px}.meeting-card h3{font-size:15px;margin:12px 0}.meeting-card p{font-size:11px;color:#8c998d;line-height:1.8}.meeting-card .card-date{padding-top:14px;border-top:1px solid var(--line);margin-top:20px;display:flex;justify-content:space-between;font-size:10px;color:#98a294}footer{font-size:9px;color:#a7b0a5;padding:0 39px 22px;display:flex;justify-content:space-between}footer button{font-size:9px;color:#7b9480;padding:0}dialog{border:1px solid var(--line);border-radius:14px;width:620px;max-width:calc(100vw - 30px);max-height:90vh;padding:0;box-shadow:0 25px 90px #193c352b;color:var(--ink)}dialog::backdrop{background:#20382f55;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:24px 27px 17px;border-bottom:1px solid var(--line)}.modal-head small{font-size:9px;letter-spacing:1.5px;color:#86a08e}.modal-head h2{font-size:20px;margin:7px 0 0}form{padding:24px 27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.form-grid .field{margin-bottom:0}.field label{font-size:11px;color:#667e6c;font-weight:500}.field input,.field select,.field textarea,.settings-input{width:100%;border:1px solid #dfe7de;border-radius:6px;padding:10px;background:white;outline:none;font-size:12px;color:var(--ink)}.field input:focus,.field textarea:focus{border-color:#6aa58c;box-shadow:0 0 0 3px #eaf4ed}.field textarea{resize:vertical;min-height:92px;line-height:1.8}.field.wide{grid-column:1/-1}.check-label{display:flex;gap:8px;align-items:center;font-size:12px;margin:13px 0}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.form-actions .delete{margin-right:auto}.field-hint{font-size:10px;color:#91a08f;line-height:1.8;margin:0}.attached{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:11px;margin:8px 0}.attached a{background:#edf4ee;padding:6px 9px;border-radius:4px}.mapbox{margin-top:12px}.mapbox iframe{width:100%;height:200px;border:1px solid var(--line);border-radius:7px}.share-group{display:flex;gap:6px;flex-wrap:wrap;margin-top:15px}.record-controls{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.recording{color:#c36657;font-size:11px;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.4}}audio{width:100%;height:35px;margin:10px 0}.settings-layout{max-width:800px;display:grid;gap:23px}.category-row{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid var(--line)}.category-dot{width:10px;height:10px;border-radius:50%;background:var(--cat)}.category-row .category-name{flex:1;font-size:12px}.settings-add{display:flex;gap:10px;margin-top:17px}.settings-add input[type=color]{width:42px;height:37px;border:1px solid var(--line);background:white;border-radius:5px;padding:3px}.settings-input{flex:1;min-width:0}.notice{padding:14px 17px;background:#f5f7f1;color:#84907a;border-radius:8px;font-size:11px;line-height:1.9}.record-status{font-size:10px;color:#8e9b8b}.quote{font-size:12px;color:#879782;line-height:1.9;padding:15px 0}.export-actions{display:flex;gap:8px;flex-wrap:wrap}#toast{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translateX(-50%) translateY(20px);background:#244c3e;color:white;padding:13px 23px;border-radius:9px;box-shadow:0 5px 25px #244c3528;opacity:0;pointer-events:none;transition:.2s;z-index:100;font-size:12px;max-width:85vw}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.mobile-brand{display:none}.month-select{border:none;font-size:17px;background:transparent;color:var(--ink);font-weight:600;cursor:pointer}.welcome-empty{padding:30px 15px}.welcome-empty .btn{margin-top:12px}
@media(min-width:1500px){main{padding-top:43px}.hero{min-height:180px}.day-cell{min-height:125px}}
@media(max-width:1200px){.sidebar{width:205px;padding-left:15px;padding-right:15px}.shell{margin-left:205px}main{padding:28px 24px}.calendar-layout{grid-template-columns:1fr}.calendar-layout>.stack{display:grid;grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1.15fr 1fr}.stat{padding:15px}.hero-art{margin-right:0}.meeting-grid{grid-template-columns:repeat(2,1fr)}header{padding:0 24px}.lunar{font-size:8px}.day-cell{min-height:95px}}
@media(max-width:850px){.sidebar{width:76px;padding:25px 10px}.brand{padding:0;justify-content:center}.brand>span:last-child,.workspace,.nav-label,.sidebar-bottom,.brand small{display:none}nav{margin-top:40px}nav button{font-size:0;padding:0;justify-content:center}nav button i svg{width:22px;height:22px}nav button span{display:none}.shell{margin-left:76px}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>.stack:last-child{grid-template-columns:1fr 1fr}.stats{gap:10px}.stat-num{font-size:25px}.hero h2{font-size:20px}.hero-art{width:150px}.header-right #header-date{display:none}.stat-top{font-size:10px}.day-cell{padding:5px}.calendar-layout>.stack{grid-template-columns:1fr}.meeting-grid{grid-template-columns:repeat(2,1fr)}#toast{left:50%}}
@media(max-width:550px){.sidebar{position:fixed;top:auto;bottom:0;width:100%;height:65px;flex-direction:row;padding:5px 8px;border-top:1px solid var(--line);border-right:0}.brand{display:none}nav{margin:0;display:flex;width:100%;justify-content:space-around}nav button{font-size:9px;flex-direction:column;gap:3px;width:24%;height:53px;padding:4px}nav button i svg{width:18px;height:18px}.shell{margin:0;padding-bottom:65px}header{height:54px;padding:0 18px}.breadcrumb{font-size:9px}.private-pill{font-size:9px}main{padding:25px 17px}.page-heading{align-items:flex-start;margin-bottom:20px}h1{font-size:23px}.subtitle{font-size:10px}.page-heading>.btn{padding:9px;font-size:10px}.hero{padding:20px;min-height:148px}.hero h2{font-size:17px}.hero p{font-size:10px;max-width:200px;line-height:1.8}.hero-art{width:65px;margin-right:-5px;transform:scale(.7)}.hero-note{display:none}.stats{grid-template-columns:1fr 1fr;margin-bottom:20px}.stat{padding:13px 16px}.stat-num{font-size:25px;margin:3px 0}.dashboard-grid{gap:18px}.dashboard-grid>.stack:last-child{grid-template-columns:1fr}.stack{gap:18px}.panel-head{padding:18px}.panel-content{padding:0 18px 18px}.day-cell{min-height:83px;padding:4px 2px}.day-number{width:20px;height:20px;font-size:10px}.lunar{float:none;display:block;font-size:7px;line-height:11px}.cal-event{font-size:7px;padding:3px 1px}.holiday-name{font-size:7px}.calendar-top{padding:16px 12px}.month-select{font-size:15px}.calendar-controls .btn{padding:6px 8px;font-size:9px}.calendar-controls .icon-btn{padding:3px 6px}.calendar-week div{font-size:9px;padding:10px 4px}.toolbar{gap:10px}.search{max-width:100%;width:100%;margin:0}.filters{gap:5px}.filter{font-size:10px;padding:7px 10px}.task-table{padding:0 15px}.task-row{gap:7px}.task-row .deadline{font-size:9px}.task-row .badge{font-size:8px}.meeting-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.modal-head{padding:18px}form{padding:20px 18px}footer{padding:0 18px 20px;display:block;line-height:2.1}footer span{display:block}.event-row{gap:10px}.settings-add{flex-wrap:wrap}.settings-add .settings-input{min-width:100px}}
