@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Instrument+Sans:wght@400;500;600&display=swap";:root{--bg:#f5f1e8;--bg-soft:#fffaf1;--paper:#fffdfa;--ink:#1f2530;--ink-soft:#5f6774;--muted:#5f6774;--line:#1f253024;--line-strong:#1f253047;--accent:#c5522b;--accent-strong:#9d3d1e;--accent-2:#126e67;--ok:#1f7a45;--warn:#b26916;--danger:#b73a30;--shadow-soft:0 14px 36px #5f43251f;--shadow-card:0 18px 46px #5f432529;--radius-lg:22px;--radius-md:14px;--radius-sm:10px}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at 92% 8%, #126e6738, transparent 38%), radial-gradient(circle at 8% 6%, #c5522b33, transparent 32%), linear-gradient(180deg, var(--bg-soft), var(--bg));min-height:100vh;margin:0;font-family:Instrument Sans,Segoe UI,sans-serif}body:before,body:after{content:"";z-index:-1;filter:blur(1px);border-radius:42% 58% 55% 45%/48% 37% 63% 52%;width:44vmax;height:44vmax;position:fixed}body:before{background:#c5522b1a;top:-20vmax;right:-18vmax}body:after{background:#126e671c;bottom:-24vmax;left:-20vmax}#root{min-height:100vh}h1,h2,h3{color:var(--ink);font-family:Space Grotesk,Segoe UI,sans-serif}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}.app-root{gap:16px;width:min(1180px,100% - 36px);margin:22px auto 110px;animation:.7s both page-in;display:grid}.app-root>header{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(145deg,#fffdfae0,#fff8ede6);justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 20px;display:flex}.title{letter-spacing:-.02em;margin:0;font-size:clamp(1.28rem,1.2vw + 1rem,2rem);line-height:1.1}.header-subtitle{color:var(--ink-soft);margin:8px 0 0;line-height:1.45}.app-root>header p,.app-root>header div[style*="var(--muted)"],.notes-toolbar div,.entry-pagination span,.report-summary p{color:var(--ink-soft)!important}.user-strip{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.logout-button{background:var(--paper);color:var(--ink);border:1px solid var(--line-strong);cursor:pointer;border-radius:999px;padding:9px 14px;font-weight:600;transition:transform .2s,box-shadow .2s,border-color .2s}.logout-button:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 8px 20px #c5522b33}.nav-blocks{z-index:40;border:1px solid var(--line);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#fffbf4c2;border-radius:20px;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;padding:10px;display:grid;position:sticky;top:16px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.kpi-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:linear-gradient(155deg,#fffdf9,#fff6eb);border-radius:16px;flex-direction:column;gap:6px;padding:14px;animation:.45s both fade-up;display:flex}.kpi-card.highlight{background:linear-gradient(145deg,#c5522bed,#de6f3ae6);border-color:#c5522b80}.kpi-card.highlight .kpi-label,.kpi-card.highlight .kpi-value,.kpi-card.highlight .kpi-foot{color:#fffdfb}.kpi-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-size:.82rem}.kpi-value{font-size:clamp(1.1rem,1vw + .9rem,1.55rem);line-height:1.2}.kpi-foot{color:var(--ink-soft);font-size:.82rem}.nav-block{border:1px solid var(--line);cursor:pointer;background:linear-gradient(160deg,#fffdf8,#fff6eb);border-radius:16px;place-items:center;gap:8px;min-height:132px;padding:12px;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid}.nav-block:hover{border-color:#126e6766;transform:translateY(-3px);box-shadow:0 12px 30px #126e6729}.nav-block.active{border-color:#c5522b8c;box-shadow:0 14px 32px #c5522b38}.nav-icon{width:62px;height:62px;color:var(--accent-strong);background:linear-gradient(145deg,#c5522b24,#126e6724);border-radius:18px;place-items:center;display:grid}.nav-block.active .nav-icon{color:var(--accent);background:linear-gradient(145deg,#c5522b38,#126e672e)}.nav-label{color:var(--ink);font-weight:700}.panel{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:linear-gradient(150deg,#fffdf9f5,#fff8ecf0);padding:18px}.panel h2,.panel h3{margin:0 0 10px}.panel h2{font-size:1.2rem}.panel h3{color:var(--ink-soft);font-size:1.03rem}.panel form{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:14px;display:flex}.panel label{color:var(--ink-soft);flex-direction:column;flex:180px;gap:6px;min-width:160px;font-size:.9rem;display:flex}.panel input,.panel textarea,.panel select{border-radius:var(--radius-sm);width:100%;min-height:42px;color:var(--ink);background:#fffdf9;border:1px solid #1f25303d;outline:none;padding:10px 11px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.create-note-form{align-items:stretch}.auth-warning{color:#8d2b23;background:#ffede7eb;border:1px solid #b73a3038;border-radius:10px;margin:0 0 10px;padding:10px 12px;font-size:.92rem}.note-content-input{resize:vertical;min-height:118px;line-height:1.5}.note-content-input.compact{min-height:92px}.panel input:focus,.panel select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c5522b29}.panel button,.modal-button.primary,.welcome-primary,.welcome-secondary{cursor:pointer;border:0;border-radius:11px;min-height:42px;padding:10px 14px;font-weight:700;transition:transform .2s,box-shadow .2s,filter .2s}.action-btn{font-family:Instrument Sans,Segoe UI,sans-serif}.action-primary{color:#fffdfb;background:linear-gradient(130deg, var(--accent), #de6f3a);box-shadow:0 10px 22px #c5522b47}.action-secondary{color:#f6fffd;background:linear-gradient(130deg,#126e67,#21827a);box-shadow:0 10px 22px #126e6738}.action-success{color:#fffdfb;background:linear-gradient(130deg,#2e8a56,#1f7a45);box-shadow:0 10px 22px #1f7a4533}.action-danger{color:#fffdfb;background:linear-gradient(130deg,#cc4a3d,#b73a30);box-shadow:0 10px 22px #b73a3033}.action-ghost{color:var(--ink);box-shadow:none;background:#fffdf9;border:1px solid var(--line-strong)!important}.action-ghost:hover{border-color:var(--accent)!important}.panel button,.modal-button.primary,.welcome-primary{color:#fffdfb;background:linear-gradient(130deg, var(--accent), #de6f3a);box-shadow:0 10px 22px #c5522b47}.panel button:hover,.modal-button.primary:hover,.welcome-primary:hover{filter:saturate(1.08);transform:translateY(-1px)}.panel button:disabled,.welcome-primary:disabled,.welcome-secondary:disabled{cursor:not-allowed;opacity:.6;box-shadow:none}.notes-toolbar,.notes-pagination,.edit-row,.report-summary{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.notes-toolbar{margin-bottom:10px}.notes-pagination{justify-content:flex-end;margin-top:10px}.page-indicator{color:var(--ink-soft);font-weight:600}.edit-row{flex:1}.note-main{flex:1;line-height:1.45}.todo-note{border:1px solid #312e261f;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 12px 26px #3e302329}.todo-note-header{border-bottom:1px dashed #181a1e33;padding:10px 14px;font-family:Space Grotesk,Segoe UI,sans-serif}.todo-checklist{background-image:linear-gradient(#1e232c1f 1px,#0000 1px);background-position:0 26px;background-size:100% 27px;margin:0;padding:10px 14px 14px;list-style:none}.todo-checklist li{box-shadow:none;background:0 0;border:0;grid-template-columns:16px 1fr;align-items:start;gap:10px;padding:4px 0 6px;display:grid}.todo-dot{background:#ffffff61;border:1.8px solid #1e212780;border-radius:50%;width:12px;height:12px;margin-top:4px}.tone-mango{background:linear-gradient(#ffd585,#ffc971)}.tone-peach{background:linear-gradient(#ffd7bf,#ffc3a0)}.tone-pink{background:linear-gradient(#ffafcf,#ff9ec3)}.tone-mint{background:linear-gradient(#c9f2ce,#b5eabf)}.tone-lavender{background:linear-gradient(#e3d8ff,#d7caf8)}.tone-sky{background:linear-gradient(#ccf2ff,#bae9fb)}.note-actions{flex-wrap:wrap;gap:8px;display:flex}.panel ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.panel li{border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffffb8;flex-direction:column;gap:9px;padding:12px;animation:.45s both fade-up;display:flex}.panel li:nth-child(2){animation-delay:50ms}.panel li:nth-child(3){animation-delay:.1s}.panel li:nth-child(4){animation-delay:.14s}.empty-state{color:var(--ink-soft);background:#fffefad1;border-style:dashed;font-style:italic}.entry-row,.entry-meta{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.entry-overtime{color:var(--ok);font-weight:600}.entry-delete{border:0;align-self:flex-end}.entry-delete:hover{filter:saturate(1.08)}.entry-pagination{justify-content:center;align-items:center;gap:8px;margin-top:12px;display:flex}.overtime-form{border-top:1px dashed var(--line-strong);padding-top:12px}.report-summary{border:1px solid var(--line);background:#ffffffc2;border-radius:12px;flex-direction:column;align-items:flex-start;margin-top:12px;padding:12px}.modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1b1d215c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--line-strong);background:#fffdf9;border-radius:20px;width:min(460px,100%);padding:20px;animation:.2s both pop-in;box-shadow:0 20px 50px #23180e40}.modal-body p{color:var(--ink-soft);line-height:1.55}.modal-actions{justify-content:end;gap:8px;margin-top:16px;display:flex}.modal-button.secondary,.welcome-secondary{color:var(--accent-2);box-shadow:none;background:#eef6f4;border:1px solid #126e674d}.bottom-nav{display:none}.welcome-root{place-items:center;width:min(980px,100% - 30px);min-height:calc(100vh - 84px);margin:42px auto;display:grid}.welcome-card{border:1px solid var(--line);width:min(620px,100%);box-shadow:var(--shadow-card);background:linear-gradient(160deg,#fffdf9f5,#fff7e9ed);border-radius:24px;padding:28px;animation:.7s both page-in}.welcome-title{letter-spacing:-.03em;margin:0 0 10px;font-size:clamp(1.8rem,2.5vw,2.4rem)}.welcome-subtitle{color:var(--ink-soft);margin:0 0 18px;line-height:1.55}.welcome-api{color:var(--ink-soft);margin:-6px 0 14px;font-size:.82rem}.welcome-form{gap:9px;display:grid}.welcome-form input{width:100%;min-height:44px;color:var(--ink);background:#fffdf9;border:1px solid #1f25303d;border-radius:11px;padding:10px 12px}.welcome-form input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #c5522b24}.welcome-error{color:var(--danger);margin:3px 0;font-size:.9rem}.welcome-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}@media (width<=980px){.app-root{width:calc(100% - 22px);margin-bottom:98px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-blocks{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-block{min-height:116px}}@media (width<=760px){.app-root{padding-bottom:calc(118px + env(safe-area-inset-bottom,0px));gap:12px;margin:12px auto 98px}.app-root>header{flex-direction:column;align-items:stretch;padding:14px}.nav-blocks{display:none}.bottom-nav{left:50%;bottom:calc(10px + env(safe-area-inset-bottom,0px));border:1px solid var(--line-strong);width:min(560px,100% - 16px);box-shadow:var(--shadow-soft);padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));z-index:50;background:#fffbf5f0;border-radius:999px;justify-content:space-around;display:flex;position:fixed;transform:translate(-50%)}.bottom-nav .nav-item{color:var(--ink-soft);background:0 0;border:0;place-items:center;gap:4px;font-size:.75rem;display:grid}.bottom-nav .bottom-icon{width:42px;height:42px;color:var(--ink-soft);background:#fff7ee;border-radius:12px;place-items:center;display:grid}.bottom-nav .nav-item.active{color:var(--accent-strong)}.bottom-nav .nav-item.active .bottom-icon{color:var(--accent-strong);background:#c5522b38}.panel{padding:14px}.panel form{gap:8px}.panel label{flex:100%;min-width:100%}.note-content-input{min-height:128px}.notes-toolbar input,.notes-toolbar div,.notes-pagination button,.entry-pagination button,.action-btn{width:100%}.notes-pagination,.entry-pagination{justify-content:stretch}.page-indicator,.entry-pagination span{text-align:center;width:100%}.note-actions{width:100%}.kpi-grid{grid-template-columns:1fr}.welcome-card{padding:20px}.welcome-actions{grid-template-columns:1fr}}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:scale(.98)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}
