*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#1a1d21;background:#f5f6f8}.app{display:flex;min-height:100vh}nav.sidebar{width:210px;padding:16px;background:#172033;color:#fff;display:flex;flex-direction:column;gap:6px}nav.sidebar .brand{font-weight:700;font-size:18px;margin-bottom:16px}nav.sidebar a{color:#c7d0e0;text-decoration:none;padding:7px 10px;border-radius:6px}nav.sidebar a:hover{background:#243149;color:#fff}nav.sidebar button{margin-top:auto}main.content{flex:1;padding:24px 32px;max-width:1100px}h1{font-size:22px}h2{font-size:17px}table{border-collapse:collapse;width:100%;background:#fff}th,td{border:1px solid #e2e5ea;padding:7px 10px;text-align:left;font-size:14px}th{background:#eef0f4}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.nowrap,th.nowrap{white-space:nowrap}input,select,button,textarea{font:inherit;padding:7px 10px;border:1px solid #c9cdd4;border-radius:6px;background:#fff}button{cursor:pointer;background:#2454d6;color:#fff;border-color:#2454d6}button.secondary{background:#fff;color:#1a1d21;border-color:#c9cdd4}button.danger{background:#c22f2f;border-color:#c22f2f}button:disabled{opacity:.5;cursor:default}form.stack{display:flex;flex-direction:column;gap:10px;max-width:420px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.field{display:flex;flex-direction:column;gap:4px;font-size:13px}.error{color:#c22f2f}.cards{display:flex;gap:14px;flex-wrap:wrap;margin:16px 0}.card{background:#fff;border:1px solid #e2e5ea;border-radius:8px;padding:14px 18px;min-width:150px}.card .big{font-size:22px;font-weight:700}.card.user-card{flex:1 1 220px;max-width:300px;color:inherit;text-align:left;cursor:pointer;border:3px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(100deg,#e4572e,#f0a202,#f2d024,#3aab5c,#2c8ad6,#6a4cc0,#b93fb1) border-box}.user-card-name{font-weight:600;margin-bottom:8px}.user-card-line{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.user-card-line .big{font-size:18px}.card.user-card:hover{box-shadow:0 2px 10px #1720332e}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#17203373;display:flex;align-items:center;justify-content:center;padding:16px;z-index:20}.modal{background:#fff;border-radius:10px;padding:18px 20px;width:min(760px,100%);max-height:86vh;overflow-y:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-head h2{margin:0}.badge{padding:2px 9px;border-radius:20px;font-size:12px;font-weight:600}.badge-draft{background:#e8eaee;color:#444}.badge-submitted{background:#fff3d6;color:#8a6100}.badge-approved{background:#dcf3e1;color:#14702e}.badge-rejected{background:#fadbdb;color:#a11c1c}.badge-paid{background:#dbe7fa;color:#1c46a1}.dropzone{border:2px dashed #b9c0cb;border-radius:8px;padding:16px;background:#fff;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.receipt-preview{max-width:220px;max-height:220px;border-radius:6px}.ocr-info{background:#eef6ff;padding:8px 10px;border-radius:6px;font-size:13px}.login-page{max-width:360px;margin:12vh auto;background:#fff;padding:28px;border-radius:10px;border:1px solid #e2e5ea}.reimb-preview{font-weight:700}.muted{color:#69707b;font-size:13px}.money-input{width:90px;text-align:right}.qty-input{width:80px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:640px){.app{flex-direction:column}nav.sidebar{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center;padding:10px 12px}nav.sidebar .brand{margin-bottom:0;margin-right:8px}nav.sidebar button{margin-top:0;margin-left:auto}main.content{padding:14px;max-width:100%}.row{flex-direction:column;align-items:stretch}.field,.field input,.field select,.money-input,.qty-input{width:100%}}
