:root {
    --bg: #f6f7fb;
    --panel: rgba(255, 255, 255, 0.92);
    --text: #121826;
    --muted: #5a6477;
    --accent: #2e6bff;
    --danger: #d42b2b;
    --border: rgba(17, 24, 39, 0.12);
    --shadow: 0 14px 36px rgba(17, 24, 39, 0.08);
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
    background:
        radial-gradient(1100px 600px at 20% -10%, rgba(46, 107, 255, 0.18), transparent 55%),
        radial-gradient(900px 500px at 100% 0%, rgba(0, 196, 154, 0.14), transparent 60%),
        var(--bg);
    color: var(--text);
}

header {
    padding: 20px 18px;
    border-bottom: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(10px);
    position: sticky;
    top: 0;
}

.container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 18px;
}

.row { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }

.panel {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 14px;
    box-shadow: var(--shadow);
}

input, textarea, button, select {
    font: inherit;
}

input, textarea {
    background: rgba(255, 255, 255, 0.85);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 10px 12px;
    outline: none;
}

textarea { width: 100%; min-height: 120px; resize: vertical; }

input::placeholder, textarea::placeholder {
    color: rgba(90, 100, 119, 0.8);
}

input:focus, textarea:focus, select:focus {
    border-color: rgba(46, 107, 255, 0.45);
    box-shadow: 0 0 0 4px rgba(46, 107, 255, 0.12);
}

button {
    background: rgba(46, 107, 255, 0.1);
    border: 1px solid rgba(46, 107, 255, 0.28);
    color: #0c1b3a;
    padding: 10px 12px;
    border-radius: 10px;
    cursor: pointer;
}
button:hover { background: rgba(46, 107, 255, 0.14); }

button.danger {
    background: rgba(212, 43, 43, 0.08);
    border-color: rgba(212, 43, 43, 0.28);
    color: #3a0c0c;
}

.muted { color: var(--muted); }

.tickets {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.ticket {
    padding: 12px;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.7);
}

.ticket h3 { margin: 0 0 6px 0; font-size: 15px; }
.ticket .meta { font-size: 13px; color: var(--muted); display: flex; gap: 10px; flex-wrap: wrap; }

.messages { display: grid; gap: 10px; }

.msg {
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.7);
}

.msg.note {
    border-color: rgba(46, 107, 255, 0.28);
    background: rgba(46, 107, 255, 0.06);
}

select {
    background: rgba(255, 255, 255, 0.85);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 10px 12px;
    outline: none;
}

.msg .meta { font-size: 12px; color: var(--muted); margin-bottom: 8px; }
.msg pre { margin: 0; white-space: pre-wrap; word-break: break-word; }

.attachments {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--border);
}

.attachments a {
    color: rgba(46, 107, 255, 0.92);
    text-decoration: none;
}

.attachments a:hover {
    text-decoration: underline;
}

@media (min-width: 900px) {
    .split { display: grid; grid-template-columns: 360px 1fr; gap: 14px; }
}
