@import url("https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@300;400;500;600;700&family=Sora:wght@400;500;600;700;800&display=swap");:root{--primary:#ff5722;--accent:#ff9800;--bg:#f5f5f5;--surface:#fff;--border:rgba(0,0,0,.08);--text:#1a1a2e;--radius:16px;--font:"Sora","Hind Siliguri",sans-serif}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);overflow-x:hidden;overflow-y:auto;height:100%;-webkit-overflow-scrolling:touch}.app-root{display:flex;min-height:100vh}.app-main{display:flex;flex-direction:column;flex:1;height:100vh;overflow:hidden}.app-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px}.sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;background:var(--surface);border-right:1px solid var(--border);transform:translateX(-100%);transition:.3s;z-index:100;overflow-y:auto}.sidebar-open{transform:translateX(0)}@media(min-width:1024px){.sidebar{transform:translateX(0)}.app-main{margin-left:260px}}.topbar{height:60px;display:flex;align-items:center;padding:0 16px;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.card{background:var(--surface);border-radius:var(--radius);padding:16px;border:1px solid var(--border)}.grid-2{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr}}input,select,textarea{width:100%;padding:10px;border-radius:10px;border:1px solid var(--border);font-size:16px}.btn,button{min-height:44px;padding:10px 16px;border:none;border-radius:10px;cursor:pointer;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;z-index:200;touch-action:auto}.modal{width:100%;max-width:600px;background:#fff;border-radius:20px 20px 0 0;max-height:90vh;display:flex;flex-direction:column}.modal-body{overflow-y:auto;max-height:60vh;padding:16px}img{height:auto}*,img{max-width:100%}@media(max-width:480px){.app-content{padding:12px}}