:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;min-width:0;min-height:100vh;min-height:100dvh;background-color:#121212;color:#e0e0e0;overflow-x:hidden}#root{width:100%;min-height:100vh;min-height:100dvh}:root{font-family:Inter,SF Pro Text,SF Pro Display,-apple-system,system-ui,Segoe UI,sans-serif;color:#e0e0e0;background-color:#121212;color-scheme:dark}body{margin:0;min-height:100vh;min-height:100dvh;background-color:#121212;color:#e0e0e0}#root{min-height:100vh;min-height:100dvh}.app{width:100%;max-width:640px;margin:0 auto;padding:0 16px}.header{position:sticky;top:0;z-index:100;background:#1e1e1e;padding:10px 0;border-bottom:1px solid #333}.top-nav{display:flex;gap:10px}.header-title{margin:10px 0 0;font-size:24px;line-height:1.2;font-weight:700;color:#f5f5f5}.main{padding-top:20px;padding-bottom:80px}.form-section{display:grid;gap:12px;margin-bottom:16px}.field-input,.field-textarea,.field-select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #444;background-color:#2c2c2c;color:#f5f5f5;font-size:13px}.field-input[type=datetime-local]{font-size:12px}.field-textarea{min-height:120px;resize:vertical}.field-input:focus,.field-textarea:focus,.field-select:focus{outline:none;border-color:#5f93ff;box-shadow:0 0 0 2px #5f93ff40}.field-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.field-label{display:grid;gap:6px;font-size:12px;color:#9aa0a6}.form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.primary-button{padding:12px 18px;border-radius:12px;border:none;background-color:#2f80ed;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s ease,filter .2s ease}.primary-button:hover{filter:brightness(1.05)}.primary-button:active{transform:translateY(1px)}.icon-button{display:inline-flex;align-items:center;justify-content:center;padding:8px;border-radius:10px;border:none;background-color:#2c2c2c;color:#e0e0e0;cursor:pointer;transition:background-color .2s ease,transform .2s ease,color .2s ease,box-shadow .2s ease}.icon-button:hover{background-color:#3a3a3a}.icon-button:active{transform:translateY(1px)}.icon-button.success{color:#7dff9a}.icon-button.danger{color:#ff6b6b}.list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.list-item{display:grid}.list-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background-color:#2c2c2c;border:1px solid #333;cursor:pointer}.list-item.done .list-row{background-color:#1a1a1a;color:#8e8e8e}.list-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.list-title.done{text-decoration:line-through;color:#8e8e8e}.list-date{font-size:12px;color:#9aa0a6;white-space:nowrap}.status-button{width:32px;height:32px;border-radius:10px;border:none;background-color:#222;color:#bdbdbd;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.status-button.done{background-color:#1f3a2a;color:#7dff9a}.status-button.note-icon{background-color:#1e1e1e;color:#c7c7c7;cursor:default}.detail-panel{margin-top:10px;padding:12px;border-radius:12px;background-color:#1e1e1e;border:1px solid #333;display:grid;gap:12px}.detail-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.detail-actions .icon-button{width:42px;height:42px;padding:10px;border-radius:12px}.detail-actions .icon-button.danger{margin-left:auto}.attachments-header{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#9aa0a6}.attachment-list{display:flex;flex-wrap:wrap;gap:10px}.attachment-item{position:relative;width:72px;height:72px;border-radius:12px;overflow:hidden;background-color:#1a1a1a;border:1px solid #333;display:flex;align-items:center;justify-content:center}.attachment-thumb{width:100%;height:100%;object-fit:cover}.attachment-file{font-size:11px;color:#c7c7c7;padding:6px;text-align:center;line-height:1.2}.attachment-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#0009;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.attachment-remove:hover{background:#ff6363cc}.fab{position:fixed;bottom:20px;right:20px;width:60px;height:60px;border-radius:50%;border:none;background:#007bff;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #00000080;cursor:pointer;z-index:1000}.fab:hover{filter:brightness(1.05)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px}.modal-content{background:#1e1e1e;padding:20px;border-radius:12px;width:90%;max-height:90vh;overflow-y:auto;border:1px solid #333}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal-header h2{margin:0;font-size:18px;font-weight:600;color:#f5f5f5}.alarm-overlay{position:fixed;inset:0;background:#000000d9;z-index:3000;display:flex;align-items:center;justify-content:center;padding:16px}.alarm-card{width:min(480px,100%);background:#151515;border-radius:20px;border:1px solid #333;padding:24px;text-align:center;box-shadow:0 20px 60px #0009;display:grid;gap:12px}.alarm-label{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#9aa0a6}.alarm-title{font-size:22px;font-weight:700;color:#fff}.alarm-body{font-size:14px;color:#c7c7c7;line-height:1.4;white-space:pre-wrap}.alarm-actions{display:flex;justify-content:center;gap:16px;margin-top:8px}.alarm-button{width:72px;height:72px;border-radius:18px;border:none;font-size:28px;font-weight:700;cursor:pointer;transition:transform .2s ease,filter .2s ease}.alarm-button:active{transform:translateY(1px)}.alarm-button.done{background:#2f80ed;color:#fff}.alarm-button.snooze{background:#2c2c2c;color:#fff;border:1px solid #444}.nav-button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;padding:8px 12px;border-radius:12px;border:1px solid transparent;background-color:#2a2a2a;color:#c7c7c7;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.nav-button.active{background-color:#2f80ed;color:#fff;box-shadow:0 12px 20px #2f80ed59}.nav-button:active{transform:translateY(1px)}.nav-icon{font-size:16px;line-height:1}.nav-label{font-size:12px}@media(max-width:480px){.app{padding:0 14px}.list-row{padding:10px}.nav-button{padding:10px 12px}}
