:root{--sky:#dff5fa;--sky2:#bfeaf3;--blue:#4b9db8;--blue-dark:#276579;--ink:#315866;--muted:#7896a0;--cream:#fffdf8;--pink:#f8e3ed;--yellow:#fff0d4;--line:#e5f0f2;--shadow:0 10px 30px rgba(56,126,148,.09)}
*{box-sizing:border-box}body{margin:0;background:#f7fcfd;color:var(--ink);font-family:ui-rounded,"Hiragino Maru Gothic ProN","Yu Gothic",Meiryo,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #8dd4e5;outline-offset:2px}.hidden{display:none!important}.muted{color:var(--muted)}.tiny{font-size:12px;line-height:1.7}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--blue);margin:0 0 6px}
.login-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 12% 15%,#e4f8fc 0,transparent 27%),radial-gradient(circle at 88% 80%,#fbeaf1 0,transparent 25%),#f8fcfd}.login-card{width:min(100%,430px);background:white;border:1px solid var(--line);border-radius:28px;padding:38px;text-align:center;box-shadow:var(--shadow)}.icecream-mark{font-size:52px;margin-bottom:8px}.login-card h1{font-size:30px;margin:4px 0 8px;color:var(--blue-dark)}.login-card .muted{margin-bottom:25px}.notice{background:#fff3d9;color:#86682d;border-radius:12px;padding:12px;margin:16px 0;font-size:13px;text-align:left}
.primary-btn,.secondary-btn{padding:12px 18px;border-radius:13px;font-weight:700;transition:.15s}.primary-btn{background:var(--blue);color:white;box-shadow:0 5px 14px #4b9db82b}.primary-btn:hover{background:#3789a5;transform:translateY(-1px)}.secondary-btn{background:#edf7f9;color:var(--blue-dark)}.text-btn{background:transparent;color:var(--muted);padding:8px 0;text-align:left}.icon-btn{background:#eef8fa;color:var(--blue-dark);border-radius:10px;width:38px;height:38px;font-size:18px}
.app{min-height:100dvh}.sidebar{width:255px;background:white;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:24px 16px;z-index:10}.brand{display:flex;gap:11px;align-items:center;padding:4px 9px 28px}.brand-icon{font-size:30px}.brand strong,.brand small,.profile strong,.profile small{display:block}.brand strong{font-size:15px;color:var(--blue-dark)}.brand small{font-size:10px;color:var(--muted);margin-top:3px}.sidebar nav{display:grid;gap:6px}.nav-item{background:transparent;text-align:left;padding:12px 13px;border-radius:12px;color:#6e8b95;display:flex;gap:12px;align-items:center;font-weight:650;font-size:13px}.nav-item span{width:21px;text-align:center;font-size:18px;color:var(--blue)}.nav-item:hover,.nav-item.active{background:var(--sky);color:var(--blue-dark)}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:18px 8px 0}.profile{display:flex;align-items:center;gap:10px;min-width:0}.avatar{width:36px;height:36px;display:grid;place-items:center;background:var(--pink);border-radius:50%;font-weight:800;color:#a45f81;flex-shrink:0}.profile-copy{min-width:0}.profile strong{font-size:12px}.profile small{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:145px;margin-top:3px}.main{margin-left:255px;min-height:100dvh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:14px;padding:26px 34px 20px;background:#f7fcfd;border-bottom:1px solid var(--line)}.topbar h2{margin:0;font-size:24px;color:var(--blue-dark)}.topbar-date{margin-left:auto;font-size:12px;color:var(--muted);background:white;border:1px solid var(--line);padding:9px 13px;border-radius:12px}.topbar #mobile-menu{display:none}.content{padding:28px 34px 38px;max-width:1500px;width:100%;margin:0 auto;flex:1}footer{text-align:center;color:#9bb2ba;font-size:10px;padding:18px}footer span{color:#e7a5c2}
.welcome{background:linear-gradient(110deg,#dff5fa,#f0fbfd 65%,#fcecf3);border:1px solid #d5eef4;border-radius:22px;padding:25px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.welcome h3{font-size:23px;margin:0 0 8px;color:var(--blue-dark)}.welcome p{margin:0;color:#658b97;font-size:13px;line-height:1.7}.welcome-art{font-size:54px;opacity:.92}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.stat-card,.panel,.record-card{background:white;border:1px solid var(--line);border-radius:17px;box-shadow:0 3px 14px rgba(56,126,148,.035)}.stat-card{padding:17px}.stat-label{font-size:11px;color:var(--muted);margin-bottom:10px}.stat-value{font-size:25px;font-weight:800;color:var(--blue-dark)}.stat-foot{font-size:10px;color:#8ca8b1;margin-top:7px}.panel{padding:20px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.panel h3{margin:0;color:var(--blue-dark);font-size:15px}.panel-head p{margin:4px 0 0;font-size:11px;color:var(--muted)}.section-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.quick-list,.record-list{display:grid;gap:9px}.list-row{display:flex;align-items:center;gap:12px;background:#fbfeff;border:1px solid #edf5f7;border-radius:12px;padding:12px}.list-dot{width:9px;height:9px;border-radius:50%;background:#83ccdc;flex-shrink:0}.list-copy{min-width:0;flex:1}.list-copy strong{font-size:12px;display:block;overflow-wrap:anywhere}.list-copy small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.pill{font-size:10px;border-radius:20px;padding:5px 8px;background:var(--sky);color:var(--blue-dark);white-space:nowrap}.pill.pink{background:var(--pink);color:#9d6480}.pill.yellow{background:var(--yellow);color:#95753c}.empty{border:1px dashed #d8eaee;border-radius:13px;padding:22px;text-align:center;color:#92abb3;font-size:12px}.page-intro{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.page-intro h3{font-size:19px;margin:0 0 6px;color:var(--blue-dark)}.page-intro p{margin:0;font-size:12px;color:var(--muted)}.toolbar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px}.search-input,.filter-select{border:1px solid #dcecf0;background:white;border-radius:11px;padding:10px 12px;color:var(--ink);min-width:0}.search-input{flex:1;min-width:150px}.record-card{padding:16px;display:flex;gap:14px;align-items:flex-start}.record-main{flex:1;min-width:0}.record-main h4{margin:0 0 7px;color:var(--blue-dark);font-size:14px;overflow-wrap:anywhere}.record-main p{margin:0 0 7px;font-size:12px;color:#6f8d97;white-space:pre-wrap;overflow-wrap:anywhere}.record-meta{font-size:10px;color:#9ab0b7;display:flex;gap:9px;flex-wrap:wrap}.record-actions{display:flex;gap:5px}.small-btn{padding:7px 9px;border-radius:9px;background:#eef8fa;color:#4b8799;font-size:11px}.small-btn.delete{background:#fff0f2;color:#b46b7d}.month-controls{display:flex;align-items:center;gap:10px}.month-controls strong{min-width:120px;text-align:center}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid var(--line);border-top:1px solid var(--line);border-radius:12px;overflow:hidden}.calendar-cell{min-height:94px;padding:7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:white;font-size:11px}.calendar-cell.head{min-height:auto;background:#f0fafc;text-align:center;padding:10px;color:var(--blue-dark);font-weight:700}.calendar-cell.other{background:#f9fcfd;color:#bdcdd2}.calendar-cell.today{background:#f0fbfd}.day-num{font-weight:700}.calendar-event{display:block;background:#dff5fa;color:#387d91;border-radius:5px;padding:3px 4px;margin-top:4px;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event.pink{background:#fae9f0;color:#a45e7c}.calendar-event.yellow{background:#fff1d8;color:#98743b}.form-fields{display:grid;gap:13px}.field{display:grid;gap:6px}.field label{font-size:12px;font-weight:700;color:#557c88}.field input,.field textarea,.field select{width:100%;padding:11px 12px;border:1px solid #dcecf0;border-radius:11px;background:#fbfeff;color:var(--ink)}.field textarea{min-height:90px;resize:vertical}.field .help{font-size:10px;color:var(--muted)}.item-dialog{border:0;border-radius:20px;padding:0;width:min(560px,calc(100% - 28px));max-height:88dvh;box-shadow:0 20px 70px #1f566b30}.item-dialog::backdrop{background:#214d5b55;backdrop-filter:blur(3px)}.item-dialog form{padding:23px;max-height:88dvh;overflow:auto}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-head h3{margin:0;color:var(--blue-dark)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.toast{position:fixed;bottom:20px;right:20px;background:#315f6e;color:white;padding:12px 16px;border-radius:12px;font-size:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none;z-index:100}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1050px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.section-grid{grid-template-columns:1fr}.content{padding:22px}.topbar{padding:22px}}@media(max-width:720px){.sidebar{transform:translateX(-105%);transition:transform .22s;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.topbar{padding:16px;gap:10px}.topbar #mobile-menu{display:block;flex-shrink:0}.topbar h2{font-size:20px}.topbar .eyebrow{font-size:8px}.topbar-date{font-size:10px;padding:7px}.content{padding:16px}.welcome{padding:20px}.welcome h3{font-size:19px}.welcome-art{font-size:38px}.stats{gap:9px}.stat-card{padding:13px}.stat-value{font-size:21px}.stat-label{font-size:10px}.page-intro{align-items:flex-start}.page-intro .primary-btn{padding:10px;font-size:12px}.calendar-cell{min-height:66px;padding:4px}.calendar-cell.head{padding:8px 2px;font-size:10px}.calendar-event{font-size:8px;padding:3px}.record-card{padding:12px}.record-actions{flex-direction:column}.login-card{padding:28px 22px}}
