*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#f5efe6,#f3e8dd);color:#5b4a3c;overflow-x:hidden}.app{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.app-centered{flex-direction:column;text-align:center;gap:12px}.card{width:100%;max-width:520px;background:#fffaf5;border:1px solid #eddcc9;border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 10px 30px #795e481f}.logo{width:52px;height:52px;border-radius:14px;background:#f0dfcf;color:#8d6c52;display:grid;place-items:center;font-size:24px;font-weight:700}.subtitle{color:#856a54;margin-top:-6px}h1{margin:0;font-size:2.1rem}p{margin:0}.switcher,.oauth-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form{display:flex;flex-direction:column;gap:10px}.form.compact{margin-top:2px}input{width:100%;border:1px solid #e8d2bc;border-radius:12px;background:#fff;color:#5b4a3c;padding:10px 12px;font-size:14px}input:focus{outline:none;border-color:#ccab8f}.input-error{border-color:#d25a5a!important;box-shadow:0 0 0 2px #d25a5a1f}.field-error{margin-top:-4px;font-size:13px;color:#b03b3b}.btn{border:1px solid #d8bca2;background:#f8ecdf;color:#6d533f;border-radius:12px;padding:10px 12px;font-weight:600;cursor:pointer;text-align:center;text-decoration:none}.btn.active{background:#e8cfb7;border-color:#cfa887}.btn:hover{filter:brightness(.98)}.status{background:#f4e6d8;border:1px solid #e1c7ad;border-radius:12px;padding:10px;font-size:14px;overflow-wrap:anywhere}.admin-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.admin-sidebar{background:#f6efe6;border-right:1px solid #e7d8c7;padding:24px;display:flex;flex-direction:column;gap:14px}.admin-sidebar h2{margin:0;font-size:24px}.admin-menu{display:flex;flex-direction:column;gap:8px}.admin-user{margin-top:auto;display:flex;flex-direction:column;gap:2px}.admin-user span{color:#8f765f;font-size:13px}.admin-content{padding:28px;display:flex;flex-direction:column;gap:14px}.admin-content h1{margin:0;font-size:30px}.admin-card{max-width:980px}.roles-list{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.role-chip{display:inline-block;border:1px solid #d9c0a9;border-radius:999px;padding:6px 10px;background:#f8eee3;font-size:13px}.users-list{display:flex;flex-direction:column;gap:10px}.users-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.users-table-wrap{overflow-x:auto;overflow-y:auto;max-height:420px;border:1px solid #e8d2bc;border-radius:12px;background:#fff}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #f0e0d0;font-size:13px;vertical-align:middle}.users-table th{font-weight:700;color:#6c5642}.user-row{border:1px solid #e8d2bc;border-radius:12px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.user-meta{display:flex;flex-direction:column;gap:2px}.user-meta span{color:#8f765f;font-size:13px}.user-actions{display:flex;gap:8px}.user-actions.compact{justify-content:flex-end}.user-actions.compact .btn{padding:8px 10px}.user-actions.compact select{min-width:120px}select{border:1px solid #e8d2bc;border-radius:10px;padding:8px 10px;background:#fff;color:#5b4a3c}.memory-shell{min-height:100vh;padding:24px;display:flex;justify-content:center;align-items:flex-start}.memory-main-card{width:100%;max-width:860px;gap:16px}.memory-head{display:flex;align-items:center;gap:12px}.memory-head .btn{margin-left:auto}.memory-create-card{max-width:100%;box-shadow:none;border-style:dashed}.privacy-toggle{display:flex;align-items:center;gap:8px;font-size:14px}.privacy-toggle input{width:auto}.memory-list{display:flex;flex-direction:column;gap:10px}.memory-item{background:#fff;border:1px solid #e8d2bc;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}.memory-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.memory-item-actions{display:flex;gap:8px}.memory-media-section{margin-top:8px;border-top:1px solid #efdfcf;padding-top:10px;display:flex;flex-direction:column;gap:10px}.memory-media-section h4{margin:0;font-size:15px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.media-card{border:1px solid #ead8c6;border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:8px;background:#fffdfb}.media-card img,.media-card video{width:100%;border-radius:8px;border:1px solid #e8d2bc;background:#fff}.media-text{white-space:pre-wrap;font-size:14px}.btn.danger{border-color:#d7adad;background:#f9e6e6;color:#834646}.memory-badge{border:1px solid #d9c0a9;border-radius:999px;padding:4px 8px;font-size:12px;background:#f8eee3}.memory-badge.public{background:#e8f5e7;border-color:#b7d9b5;color:#3f6b3f}.memory-badge.private{background:#f7ece4;border-color:#e0c5ae;color:#7a5b45}@media (max-width: 1024px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:1px solid #e7d8c7}.admin-menu{flex-direction:row}.admin-user{margin-top:0}.admin-content{padding:18px}}@media (max-width: 720px){.app,.memory-shell{padding:12px}.card{padding:16px;border-radius:14px}h1{font-size:1.6rem}.switcher{grid-template-columns:1fr}.btn,input,select{min-height:42px}.admin-sidebar,.admin-content{padding:12px}.admin-menu{flex-direction:column}.memory-head{align-items:flex-start;flex-direction:column}.memory-head .btn{margin-left:0;width:100%}.memory-item-head{flex-direction:column;align-items:flex-start}.memory-item-actions,.user-actions.compact{flex-direction:column;align-items:stretch}.users-table th,.users-table td{font-size:12px;padding:7px 8px}.users-table thead{display:none}.users-table,.users-table tbody,.users-table tr,.users-table td{display:block;width:100%}.users-table tr{border-bottom:1px solid #f0e0d0;padding:10px}.users-table td{border:0;padding:6px 0}.users-table td:before{content:attr(data-label);display:block;font-size:11px;color:#8f765f;margin-bottom:4px}.user-actions.compact select,.user-actions.compact .btn,.memory-item-actions .btn,.media-card .btn{width:100%}.media-grid{grid-template-columns:1fr}}@media (max-width: 420px){.card{padding:14px}h1{font-size:1.4rem}.subtitle{font-size:13px}.memory-item{padding:10px}}
