:root{color:#1d232a;background:#f6f7f9;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{color:#1d232a;background:#f6f7f9;min-height:100vh;margin:0}.page{width:min(100%,900px);margin:0 auto;padding:48px 24px}h1{margin:0;font-size:32px;line-height:1.15}h2{font-size:22px;line-height:1.25}p,h2,ul{margin:0}p{line-height:1.5}a{color:#1b62b7;text-underline-offset:3px}button,input,textarea,select{font:inherit}button{border:0}.page-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.header-actions{flex-wrap:wrap;gap:10px;display:flex}.button-link{color:#1b62b7;background:#fff;border:1px solid #1b62b7;border-radius:8px;padding:10px 16px;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-block}.button-link:hover{color:#154f95;background:#eef5ff;border-color:#154f95}.request-list{gap:14px;padding:0;list-style:none;display:grid}.request-card{background:#fff;border:1px solid #dfe3e8;border-radius:12px;gap:14px;padding:18px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;box-shadow:0 1px 2px #141f2d0a}.request-card:hover{border-color:#b9c6d6;transform:translateY(-1px);box-shadow:0 10px 24px #141f2d14}.request-card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.request-card-meta{color:#5a6572;flex-wrap:wrap;gap:8px 18px;font-size:14px;display:flex}.request-card h2{margin:0;font-size:20px;line-height:1.25}.card-link{justify-self:start}.status-badge{border-radius:999px;flex:none;padding:4px 9px;font-size:13px;line-height:1.2}.status-new{color:#59616b;background:#eef0f3}.status-in_progress{color:#1558a8;background:#e9f2ff}.status-done{color:#1d7a43;background:#e8f6ee}.request-form{gap:16px;max-width:560px;display:grid}.form-card,.panel,.empty-state{background:#fff;border:1px solid #dfe3e8;border-radius:12px;box-shadow:0 1px 2px #141f2d0a}.form-card{padding:22px}.request-form label{gap:6px;font-weight:600;display:grid}.request-form input,.request-form textarea{width:100%;font:inherit;background:#fff;border:1px solid #c9d1db;border-radius:6px;padding:11px 12px;font-weight:400}.request-form input:focus,.request-form textarea:focus,.status-control select:focus{border-color:#1b62b7;outline:3px solid #dbeafe}.request-form button{color:#fff;cursor:pointer;font:inherit;background:#1d232a;border:1px solid #111;border-radius:8px;justify-self:start;padding:10px 16px;transition:background .15s,transform .15s}.request-form button:hover{background:#111820;transform:translateY(-1px)}.request-form button:disabled{cursor:not-allowed;opacity:.7}.form-actions{flex-wrap:wrap;gap:12px;display:flex}.request-form .secondary-button,.secondary-button{color:#1d232a;cursor:pointer;font:inherit;background:#fff;border:1px solid #a7b0ba;border-radius:8px;padding:10px 16px;transition:background .15s,border-color .15s}.secondary-button:hover{background:#f1f3f5;border-color:#7d8793}.form-error{color:#b00020}.details-layout{gap:20px;display:grid}.details-section{gap:16px;display:grid}.panel{padding:22px}.title-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.request-meta{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:0;display:grid}.request-meta div{background:#fafbfc;border:1px solid #edf0f3;border-radius:8px;gap:5px;padding:12px;display:grid}.request-meta dt{color:#64707d;font-size:14px}.request-meta dd{margin:0;font-weight:600}.status-control{gap:6px;max-width:240px;font-weight:600;display:grid}.status-control select{font:inherit;background:#fff;border:1px solid #c9d1db;border-radius:6px;padding:10px 12px;font-weight:400}.comment-list{gap:12px;padding:0;list-style:none;display:grid}.comment-item{background:#fafbfc;border:1px solid #dfe3e8;border-radius:8px;gap:8px;padding:14px;display:grid}.comment-author{color:#64707d;font-size:14px}.comment-form{margin-top:8px}.auth-message{justify-items:start;gap:12px;display:grid}.empty-state{color:#5a6572;padding:18px}@media (max-width:640px){.page{padding:32px 16px}.page-header,.title-row{flex-direction:column;align-items:stretch}.form-card,.panel{padding:18px}}
