/* ----------------- Global ----------------- */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Consolas', 'Courier New', monospace;
    background: #f4f4f9;
    color: #333;
    width: 100%;
    overflow-x: hidden; /* Prevent horizontal scroll */
}

a { text-decoration: none; }

/* ----------------- Header ----------------- */
.header {
    text-align: center;
    background: linear-gradient(90deg, #4f46e5, #6366f1);
    color: #fff;
    padding: 20px 20px 3px 35px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

.logo {
    font-size: 3em;
    font-weight: bold;
}

.tagline {
    font-size: 1.2em;
    margin-top: 10px;
    color: #e0e7ff;
}

.logo img {
    max-width: 100%;
    height: auto;
}

/* ----------------- Containers ----------------- */
.container {
    width: 95%;
    max-width: 900px;
    margin: 20px auto;
    padding: 0 10px;
}

/* ----------------- Note Form ----------------- */
.note-form-container {
    background: #fff;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

textarea, input[type="text"], select {
    width: 100%;
    padding: 12px;
    margin-bottom: 15px;
    border-radius: 6px;
    border: 1px solid #ccc;
    font-size: 15px;
    overflow-wrap: break-word; /* Prevent overflow */
    word-wrap: break-word;
    word-break: break-word;
}

textarea {
    height: 200px;
    resize: vertical;
    display: block;
}

/* ----------------- Buttons ----------------- */
.btn, .btn-small, .btn-submit, .btn-link {
    display: block;
    width: 100%;
    max-width: 250px;
    margin: 10px auto;
    text-align: center;
    padding: 10px 20px;
    border-radius: 6px;
    border: none;
    color: #fff;
    cursor: pointer;
    transition: 0.3s;
}

.btn-submit { background: #4f46e5; }
.btn-submit:hover { background: #4338ca; }

.btn-link, .btn-small, .btn { background: #6366f1; }
.btn-link:hover, .btn:hover, .btn-small:hover { background: #4f46e5; }

.btn.delete { background: #ef4444; }
.btn.delete:hover { background: #b91c1c; }

/* ----------------- Note View ----------------- */
.note-box {
    background: #1e293b;
    color: #f8fafc;
    padding: 20px;
    border-radius: 6px;
    font-family: 'Courier New', monospace;
    white-space: pre-wrap;
    word-wrap: break-word;
    overflow-wrap: break-word;
    width: 100%;
}

.expired {
    color: red;
    font-weight: bold;
    text-align: center;
}

/* ----------------- Table / Layout ----------------- */
table {
    width: 100%;
    border-collapse: collapse;
}

table th, table td {
    padding: 10px;
}

/* ----------------- Box / Card ----------------- */
.box {
    padding: 20px;
    border-radius: 8px;
}

/* ----------------- Actions ----------------- */
.actions {
    margin-top: 15px;
    text-align: center;
}

/* ----------------- Responsive ----------------- */
@media (max-width: 768px) {
    h1, h2, h3 { font-size: 1.4rem; }

    .box, .note-form-container { padding: 15px; }

    .menu { display: block; text-align: center; }
    .menu a { display: block; margin: 10px 0; }
}

@media (max-width: 480px) {
    h1, h2, h3 { font-size: 1.2rem; }
    textarea { font-size: 0.95rem; }
}
