:root{--pink:#ffd6e8;--cream:#fff9ef;--mint:#dff7ee;--lav:#eee8ff;--text:#5d5163;--deep:#846a9f;--danger:#ff7b8f;--good:#73c6a2;--line:#eadff1}*{box-sizing:border-box}body{margin:0;font-family:'Mali',cursive;background:linear-gradient(135deg,#fff7fb,#fff9ed 42%,#effaf5);color:var(--text);font-size:15px}.hidden{display:none!important}.login-page{min-height:100vh;display:grid;place-items:center;padding:22px}.cute-card{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 12px 30px rgba(132,106,159,.13)}.login-card{max-width:410px;width:100%;text-align:center}.logo-bubble{width:70px;height:70px;margin:auto;border-radius:50%;display:grid;place-items:center;background:var(--pink);font-size:34px}h1{font-size:24px;margin:8px 0}h2{font-size:18px;margin:0 0 12px}.app{max-width:1200px;margin:auto;padding:16px}.topbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.topbar p{margin:0;color:#8a7c8d}.tabs{display:flex;gap:8px;overflow:auto;padding-bottom:8px;margin-bottom:12px}.tab,button{border:0;border-radius:16px;padding:10px 14px;background:#fff;box-shadow:0 5px 14px rgba(132,106,159,.12);font-family:inherit;color:var(--text);font-weight:700;cursor:pointer}.tab.active,.primary{background:linear-gradient(135deg,#ffb6d3,#d9c8ff);color:#fff}.secondary{background:var(--mint)}.danger{background:var(--danger);color:white}.save{background:var(--good);color:white}.small{padding:8px 12px}.full{width:100%;margin-top:8px}.grid{display:grid;gap:14px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.wide{margin-top:14px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}label{display:block;text-align:left;margin:8px 0 4px;font-weight:700}input,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fffdfb;font-family:inherit;color:var(--text);font-size:14px}input:focus,select:focus{outline:2px solid #ffd6e8}.button-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.inline-form{display:grid;grid-template-columns:1fr 110px;gap:8px;margin:8px 0}.chips{display:flex;gap:8px;flex-wrap:wrap;min-height:45px}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--lav);padding:8px 10px;font-size:13px}.chip button{padding:2px 7px;border-radius:50%;box-shadow:none;background:#fff;color:#9d5b70}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.table-wrap{overflow:auto}.empty{padding:25px;text-align:center;background:#fffdfb;border:1px dashed var(--line);border-radius:18px}table{width:100%;border-collapse:separate;border-spacing:0 8px;min-width:680px}th{font-size:13px;text-align:center;color:#7a6d80}td{background:#fff;padding:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td:first-child{border-left:1px solid var(--line);border-radius:14px 0 0 14px}td:last-child{border-right:1px solid var(--line);border-radius:0 14px 14px 0}.score-input{width:78px;text-align:center}.list-box{display:grid;gap:8px;max-height:410px;overflow:auto}.list-item{display:flex;gap:8px;justify-content:space-between;align-items:center;background:#fffdfb;border:1px solid var(--line);border-radius:16px;padding:9px}.list-item input{margin:0}.muted,.hint-box,.msg{font-size:13px;color:#8c7d91}.hint-box{background:#fff8e8;border-radius:16px;padding:10px;margin-top:12px;text-align:left}code{background:#fff;padding:1px 6px;border-radius:8px}@media(max-width:850px){.two,.three,.form-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.section-title{flex-direction:column;align-items:stretch}body{font-size:14px}.app{padding:10px}.cute-card{padding:14px}h1{font-size:20px}.inline-form{grid-template-columns:1fr}.tabs .tab{white-space:nowrap}}
textarea{width:100%;min-height:170px;resize:vertical;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fffdfb;font-family:inherit;color:var(--text);font-size:14px}.soft-panel{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,246,250,.96))}.search-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin:10px 0}.search-results{overflow:auto;max-height:360px}.search-results table{min-width:760px}.search-results.empty{max-height:none}@media(max-width:850px){.search-row{grid-template-columns:1fr}.search-results table{min-width:620px}}
