:root{color-scheme:dark;--bg:#141824;--panel:#202635;--panel2:#191f2d;--edge:#3b4458;--text:#e8ebf4;--muted:#9ba7bc;--yellow:#f5df42;--accent:#91aaff;--danger:#e78080;--green:#82d6a9;--shadow:0 18px 60px #0006;font-family:'Malgun Gothic','Apple SD Gothic Neo',system-ui,sans-serif;font-size:14px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}input,select,textarea{border:1px solid var(--edge);background:#141925;color:var(--text);border-radius:5px;padding:10px 11px;outline:none;min-width:0;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px #91aaff25}input[type=checkbox]{width:auto;accent-color:var(--yellow)}textarea{resize:vertical;line-height:1.65}small{font-size:11px;color:var(--muted)}h1,h2,h3,p{margin:0}.hidden{display:none!important}.full{width:100%}.muted,.tip{color:var(--muted)}.grow{flex:1}.required,.star{color:var(--yellow)}
.topbar{height:65px;background:#10141f;border-bottom:1px solid #30394b;display:flex;align-items:center;justify-content:space-between;padding:0 25px;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand strong{font-size:17px;white-space:nowrap}.brand em{font-size:12px;font-style:normal;color:var(--yellow)}.brand-logo,.login-emblem{background:var(--yellow);color:#1c2230;font-weight:900;display:grid;place-items:center;border-radius:8px;width:32px;height:32px;font-size:20px}.brand-sub{color:var(--muted);padding-left:14px;border-left:1px solid var(--edge);font-size:12px}.user-area{display:flex;align-items:center;gap:15px;font-size:12px}
.main-layout{display:grid;grid-template-columns:286px minmax(0,1fr);max-width:1680px;margin:0 auto;padding:18px;gap:18px;min-height:calc(100vh - 65px)}.calendar-panel,.workspace{background:var(--panel);border:1px solid var(--edge);border-radius:9px;min-width:0}.calendar-panel{padding:18px 15px;align-self:stretch}.month-nav{display:flex;justify-content:space-between;align-items:center;text-align:center;margin-bottom:13px}.month-nav strong{font-size:17px}.month-nav #calendarCaption{color:var(--muted);font-size:11px;margin-top:5px}.arrow{border:0;color:#f1f3ff;background:transparent;font-size:31px;padding:0 7px}.arrow:hover{color:var(--yellow)}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekdays{margin-bottom:10px;text-align:center;font-size:11px;color:var(--muted)}.weekdays span:first-child{color:#ff8a8a}.weekdays span:last-child{color:#8ab3ff}.day{position:relative;height:38px;border:1px solid #404a5c;background:#1b2230;color:#e6e8f4;border-radius:4px;font-size:13px;padding:0}.day:hover{border-color:var(--yellow)}.day.outside{opacity:.32}.day.today{color:var(--yellow);border-color:var(--yellow)}.day.selected{background:var(--yellow);border-color:var(--yellow);color:#171c2a;font-weight:800}.day.has-memos:after{content:'';position:absolute;bottom:3px;left:calc(50% - 2px);background:var(--accent);border-radius:50%;width:4px;height:4px}.day.selected:after{background:#191f29}.calendar-panel>.btn{margin-top:14px}.section-heading{margin:28px 0 12px;font-weight:700;font-size:12px;display:flex;gap:7px;align-items:center}.count{color:var(--muted);font-size:11px;border:1px solid #465067;border-radius:12px;padding:2px 8px}.important-list{border:1px solid var(--edge);background:#151a26;border-radius:6px;min-height:200px;max-height:50vh;overflow:auto}.important-item{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:11px;text-align:left;color:#eae9a5;border:0;border-bottom:1px solid #31384b;background:transparent;width:100%}.important-item:hover{background:#2a3041}.important-item small{color:var(--muted)}
.workspace{padding:18px;display:flex;flex-direction:column;gap:15px}.tabs{display:flex;gap:1px;align-items:center;border-bottom:1px solid #414a5a;padding-bottom:1px}.tab{padding:10px 17px;background:#2a3040;border:1px solid #515d72;color:#ccd4e5;font-size:13px}.tab.active{background:var(--yellow);color:#101725;font-weight:800;border-color:var(--yellow)}.tab:hover:not(.active){background:#364258}.tabs .tip{font-size:11px;margin-right:8px}.datebar{display:flex;justify-content:space-between;align-items:end;gap:12px}.overline{color:var(--muted);font-size:11px;letter-spacing:.12em}.datebar h1{font-size:21px;margin-top:5px}.today-chip{font-size:12px;color:var(--yellow);font-weight:700}
.memo-workspace{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px;min-height:460px}.memo-form-panel,.records-panel,.todo-panel{border:1px solid var(--edge);background:#1a2030;border-radius:7px}.memo-form-panel{padding:16px}.form-grid-top,.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;min-width:0}.field label{color:#c4cee0;font-size:12px;font-weight:600}.field .required{margin-left:2px}.full-row{grid-column:1/-1}.flags{display:flex;align-items:center;gap:17px;margin:0 0 12px;font-size:12px}.flags label{cursor:pointer;display:flex;align-items:center;gap:4px}.record-num{margin-left:auto;color:var(--muted);font-size:11px}.upload-row{display:flex;gap:8px;align-items:center}.upload-row input{padding:8px;max-width:100%;min-width:0}.upload-row button{flex-shrink:0}.attachment-grid{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.attachment{display:flex;align-items:center;gap:7px;border:1px solid var(--edge);padding:5px;border-radius:6px}.attachment img{display:block;width:72px;height:55px;object-fit:cover;border-radius:4px}.attachment .small-del{color:#ff9999;background:transparent;border:0;font-size:16px}.button-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:13px}.btn{border:1px solid #52607a;background:#293244;color:var(--text);border-radius:5px;padding:9px 13px;font-weight:600;white-space:nowrap}.btn:hover:not(:disabled){filter:brightness(1.14)}.btn-primary{background:var(--yellow);color:#151923;border-color:var(--yellow)}.btn-danger{border-color:#914d59;color:#ffb6c0;background:#39212a}.btn-kakao{border-color:#ecd83a;color:#f7e442;background:#332d18}.btn-secondary{background:#2c3549}.btn-ghost{padding:6px 10px;background:transparent}.tiny-plus{width:18px;height:17px;border:0;background:var(--yellow);color:#121720;border-radius:3px;padding:0;font-weight:900;margin-left:5px}.records-panel{display:flex;flex-direction:column;min-width:0;overflow:hidden}.records-heading{padding:15px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--edge)}.memo-list{min-height:150px;overflow-y:auto;max-height:650px}.memo-record{display:block;text-align:left;background:transparent;border:0;border-bottom:1px solid #30394a;color:var(--text);width:100%;padding:12px 11px}.memo-record:hover{background:#303849}.memo-record.selected{background:#2d3850;border-left:3px solid var(--yellow)}.memo-record-title{font-size:12px;line-height:1.55;font-weight:700;overflow-wrap:anywhere}.memo-meta{display:flex;align-items:center;gap:7px;margin-top:7px;color:var(--muted);font-size:11px}.memo-badge{border-radius:3px;background:#323c50;padding:2px 5px}.memo-badge.done{color:var(--green)}.memo-badge.important{color:var(--yellow)}.empty{text-align:center;color:var(--muted);padding:35px 15px;font-size:12px}
.todo-panel{padding:16px}.todo-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.todo-heading strong{font-size:15px}.todo-heading p{margin-top:4px;color:var(--muted);font-size:11px}.todo-entry{display:flex;gap:9px;align-items:center}.todo-entry input[type=text],.todo-entry #todoTitle{flex:1}.attach-toggle{white-space:nowrap;color:var(--muted);font-size:11px}.todo-list{margin-top:12px;max-height:265px;overflow:auto}.todo-item{display:flex;align-items:center;gap:10px;background:#141a27;border:1px solid #2e394a;border-radius:5px;padding:9px 12px;margin-bottom:6px}.todo-item span{flex:1;overflow-wrap:anywhere}.todo-item.done span{text-decoration:line-through;color:var(--muted)}.todo-item small{font-size:10px}.todo-item button{color:var(--danger);border:0;background:transparent;font-size:19px}
.login-overlay{position:fixed;inset:65px 0 0;background:radial-gradient(ellipse at 50% 28%,#263247,#111723 60%);display:grid;place-items:center;z-index:4;padding:16px}.login-card{background:#202635;border:1px solid var(--edge);border-radius:12px;padding:34px;width:min(410px,100%);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px}.login-card h2{font-size:23px}.login-card p{font-size:12px;color:var(--muted)}.login-card label{display:flex;flex-direction:column;gap:7px;font-size:12px}.login-emblem{width:42px;height:42px;font-size:25px}.login-card small{line-height:1.6}.modal{background:#202635;color:var(--text);border:1px solid #596379;border-radius:10px;box-shadow:var(--shadow);max-height:92vh;width:min(1140px,96vw);padding:20px;overflow-y:auto}.modal::backdrop{background:#000c;backdrop-filter:blur(2px)}.modal-info{min-height:550px}.modal-history{width:min(760px,96vw);min-height:390px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--edge);margin-bottom:16px}.modal-head h2{font-size:20px}.modal-head p{color:var(--muted);font-size:12px;margin-top:4px}.close-x{font-size:26px;color:var(--muted);border:0;background:transparent}.info-search,.history-search{display:flex;gap:9px;margin-bottom:12px}.info-search input{flex:1}.info-search select{max-width:230px}.info-workspace{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.3fr);gap:16px}.info-records{background:#161b28;border:1px solid var(--edge);border-radius:6px;max-height:590px;overflow:auto}.info-list button{display:block;padding:10px 12px;border:0;border-bottom:1px solid #363f50;background:transparent;color:#e7ecf5;text-align:left;width:100%}.info-list button.selected,.info-list button:hover{background:#303a4e}.info-list small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.info-editor{min-width:0}.private-note{font-weight:400;font-size:10px;color:var(--yellow)}.password-controls{display:flex;gap:5px}.password-controls input{flex:1}.history-list{border:1px solid var(--edge);border-radius:6px;min-height:230px}.history-row{padding:12px;border-bottom:1px solid var(--edge);line-height:1.6}.history-row time{font-size:11px;color:var(--muted)}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:#f2e35f;color:#131720;padding:11px 17px;border-radius:8px;font-weight:700;box-shadow:var(--shadow);display:none;z-index:20}#toast.error{background:#f1a1a9}
@media(max-width:1120px){.memo-workspace{grid-template-columns:minmax(0,1fr) 235px}.main-layout{grid-template-columns:258px minmax(0,1fr);gap:12px;padding:12px}.workspace{padding:12px}.calendar-panel{padding:14px 10px}}
@media(max-width:800px){.main-layout{display:block}.calendar-panel{margin-bottom:12px}.calendar-grid{max-width:430px;margin:auto}.memo-workspace{grid-template-columns:1fr}.memo-list{max-height:260px}.brand-sub,.tip{display:none}.tabs .tab{padding:9px 11px}.workspace{gap:12px}.info-workspace{grid-template-columns:1fr}.info-records{max-height:180px}.info-grid{grid-template-columns:1fr}.todo-entry{flex-wrap:wrap}.attach-toggle{order:2}.datebar h1{font-size:17px}}
@media(max-width:420px){.form-grid-top{grid-template-columns:1fr}.button-row .btn{flex:1}.tabs .tab{font-size:11px;padding:9px 8px}.info-search{flex-wrap:wrap}.info-search select{max-width:none}}
